Jump to content

preg replace error


optikalefx

Recommended Posts

this is my code

 

<?
$string = "<link to phil.php displays_as Philosophy<end link>";
print "$string\n";
$patterns2[0] = "/<link to /";
$patterns2[1] = "/<end link>/";
$patterns2[3] = "/ displays_as /";
$replacements2[0] = "<a href='http://www.robbertlaw.com/";
$replacements2[1] = "[/url]";
$replacements2[3] = "'>";

foreach($patterns2 as $key => $regex) {
    $string = preg_replace($regex, $replacements2[$key], $string);
}
print "$string\n";
?>

 

the purpose is to replace  <link to phil.php display_as Philosophy<end link>

with <a href='http://www.robbertlaw.com/phil.php'>Philosphy</a>

 

I keep getting this error

PHP Parse error:  syntax error, unexpected T_STRING in /hermes/web04/b1609/pow.4ten/htdocs/php/regex.php on line 12

 

 

Link to comment
https://forums.phpfreaks.com/topic/64356-preg-replace-error/
Share on other sites

to tell you the truth, thats not the code i was using, that is one someone helped me make because mind gave me an error.

 

my code was this

 

<?

$string = "<link to phil.php display_as Philosophy<end link>";

//create link tag

$patterns2[0] = "/<link to ";

$patterns2[1] = "/<end link>/";

$patterns2[3] = " displays_as ";

$replacements2[0] = "<a href='http://www.robbertlaw.com/";

$replacements2[1] = "</a>";

$replacements2[3] = "'>";

 

 

$string = preg_replace($patterns2, $replacements2, $string);

?>

 

and it still gives me an error...

Link to comment
https://forums.phpfreaks.com/topic/64356-preg-replace-error/#findComment-320899
Share on other sites

<link to phil.php display_as Philosophy<end link>
with <a href='http://www.robbertlaw.com/phil.php'>Philosphy</a>

 

i think this is what you want

<?php
$Find = "<link to phil.php display_as Philosophy<end link>";
$replace= preg_replace('/<link to ([\S]*) display_as (.*)(?:<end link>)/i', '<a href=\'http://www.robbertlaw.com/$1\'>$2</a>', $Find);

echo replace;
?>

 

returns

<a href='http://www.robbertlaw.com/phil.php'>Philosophy</a>

Link to comment
https://forums.phpfreaks.com/topic/64356-preg-replace-error/#findComment-321137
Share on other sites

heres the entire code

<pre>
<?php
$string = "/<link to phil.php displays_as Philosophy/<end link/>";
print "$string\n";
$patterns2[0] = "/<link to /";
$patterns2[1] = "/<end link>/";
$patterns2[3] = "/ displays_as /";
$replacements2[0] = "<a href='http://www.robbertlaw.com/";
$replacements2[1] = "</a>";
$replacements2[3] = "'>";
    $string = preg_replace($patterns2, $replacements2, $string);
print "$string\n";
?>
</pre>

 

 

Link to comment
https://forums.phpfreaks.com/topic/64356-preg-replace-error/#findComment-322148
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.