$result=preg_replace('/abc/','def',$string);# Replace all 'abc' with 'def'$result=preg_replace('/abc/i','def',$string);# Replace with case insensitive matching$result=preg_replace('/s+/','',$string);# Strip all whitespaces
preg_replace($pattern,$replacement,$subject[,$limit[,&$count]]);// Returns an array if the subject parameter is an array,// or a string otherwise.// If matches are found, the new subject will be returned, otherwise// subject will be returned unchanged or NULL if an error occurred.
i searched for a while for a script, that could see the difference between an html tag and just < and > placed in the text,
the reason is that i recieve text from a database,
wich is inserted by an html form, and contains text and html tags,
the text can contain < and >, so does the tags,
with htmlspecialchars you can validate your text to XHTML,
but you'll also change the tags, like <b> to <b>,
so i needed a script that could see the difference between those two...
but i couldn't find one so i made my own one,
i havent fully tested it, but the parts i tested worked perfect!
just for people that were searching for something like this,
it may looks big, could be done easier, but it works for me, so im happy.
<?phpfunctionfixtags($text){$text=htmlspecialchars($text);$text=preg_replace("/=/","=""",$text);$text=preg_replace("/"/", """", $text);
$tags = "/<(/|)(w*)(|)(w*)([=]*)(?|(")"""|)(?|(.*)?"(")|)([]?)(/|)>/i";
$replacement = "<$1$2$3$4$5$6$7$8$9$10>";
$text = preg_replace($tags, $replacement, $text);
$text = preg_replace("/=""/", "=", $text);
return $text;
}
?>
an example:
<?php
$string = "
this is smaller < than this<br />
this is greater > than this<br />
this is the same =as this<br /><a href="http://www.example.com/example.php?test=test">This is a link</a><br /><b>Bold</b><i>italic</i> etc...";
echo fixtags($string);
?>
will echo:
this is smaller < than this<br />
this is greater > than this<br />
this is the same = as this<br />
<a href="http://www.example.com/example.php?test=test">This is a link</a><br /><b>Bold</b><i>italic</i> etc...I hope its helpfull!!