xxxxxxxxxx
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.
<?php
function fixtags($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!!
xxxxxxxxxx
var text = 'test test test test',
fixed;
fixed = text.replace(/\s+/g, '-');
xxxxxxxxxx
<?php
$str = "1R6uS7#b8N*dV2q4G9E0H!xYcMzW\$L37KtR3xL2vFg9nD4mH0jP6sQwX8zVb1cN5";
echo preg_replace("/[^0-9a-zA-Z]/",'',$str);
echo PHP_EOL;
echo preg_replace("/[^0-9]/",'',$str);
echo PHP_EOL;
$str = "1R6uS7#b8N*d V2q4G9E0H !xYcMzW\$L37KtR3xL2vFg9nD4m H0jP6sQwX8zVb1cN5";
echo preg_replace('/\s+/', '', $str);#replace spaces from string
?>
xxxxxxxxxx
<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
xxxxxxxxxx
$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
xxxxxxxxxx
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.
xxxxxxxxxx
<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
?>
xxxxxxxxxx
$result = preg_replace(
array('/pattern1/', '/pattern2/'),
array('replace1', 'replace2'),
$string
);
xxxxxxxxxx
$result = preg_replace('/abc(def)hij/', '/\\1/', $string);
$result = preg_replace('/abc(def)hij/', '/$1/', $string);
$result = preg_replace('/abc(def)hij/', '/${1}/', $string);
xxxxxxxxxx
<!DOCTYPE html>
<html>
<body>
<?php
// Display result after replace and count
echo preg_replace(array('/\d/', '/\s/'),
'*', '1234567890', 8);
?>
</body>
</html>