regular expressions

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
roice
Forum Commoner
Posts: 35
Joined: Tue Mar 02, 2010 9:14 am

regular expressions

Post by roice »

Hello everyone,
My name is Roi and I need your help.
Hope you will be able to help me-
I wrote a script that take variable that contain HTML code,. it replace the exact word "php" (no matter if it is contain capital letters) with the word "asp"
for example, if the variable contain:

Code: Select all

<a href='http://www.php.com'>myphp</a> best <b>php</b> website <h1>PhP!!!</h1> php and myphp or phpme - <u>php!</u>!
the result will be

Code: Select all

<a href='http://www.asp.com'>myphp</a> best <b>asp</b> website <h1>asp!!!</h1> aspand myphp or phpme - <u>asp!</u>!
well, the problem is that it althouth replace the letters inside the THML tags and because of that the links changed...
Here is my code:

Code: Select all

   function keepcase($word, $replace) {
      $replace[0] = (ctype_upper($word[0]) ? strtoupper($replace[0]) : $replace[0]);
      
      return $replace;
    }
 
    $text = strtolower(file_get_contents($folder.$file));
    $replace = "asp";
    $word = "php";
    $output = preg_replace('/\b' . preg_quote($word) . '\b/ei', "keepcase('\\0', '$replace')", $text);
  
    echo $output;    
What should I change if I want the replacements to be only on the text between the HTML tags?

Thank you in advance,
Roi.
Kurby
Forum Commoner
Posts: 63
Joined: Tue Feb 23, 2010 10:51 am

Re: regular expressions

Post by Kurby »

Post Reply