清除字符串中令人讨厌的字符

时间:2014-09-26 00:11:24

标签: php

我有以下代码:

<?php

include_once("tester.php");  

$name = New noticion;

if ($name->datos("localhost","root","","tester")) {
echo "conexion abierta<br>";

$ver = $name->vereste("74","a");

echo "<pre>".stripslashes($ver[2])."</pre>";
echo "<br>";

$ver = $name->vereste("65","b");

echo "<pre>".stripslashes($ver[2])."</pre>";
echo "<br>";

}

在第一篇文章中我得到的结果是很多\&#34; \&#34; \&#34;和\&#34; \ n \ n用striplashes()迅速解决。问题是我总是对所有新闻使用相同的功能。如果我这样做,那就解雇\ n并将它们变成一些东西,留下n&#34; n [+] Sintax:$ 0 n&#34 ;;消息称第二次以同样的方式表现出来。我也不能使用htmlentities因为我显示HTML代码。如果我做标签消失并破坏一切。 使用这些代码显示各种语言的新闻节目 我怎么能解决这种折磨?

1 个答案:

答案 0 :(得分:0)

为什么不做一个简单的str_replace来保持\ n

我会这样做:

$cleanthis = array('\ "\" \ "', '\" \\');
$cleaned = str_replace($cleanthis, '', $ver[2]);
echo $cleaned;

这应该只留下\ n或\ n n我不确定第二个n是否也是您的问题或键入错误。但这对你来说比第二个这样的str_replace有问题:

$secondclean = str_replace('\n n', '\n', $cleaned);
echo $secondclean;

但是如果你可以在stripslashes()

之前从数据中提供var_dump()会有所帮助。

也许你可以试试这个:

$a = preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $ver[2]);
$a = str_replace('n n', '\n', $a);
echo $a;