我有以下代码:
<?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代码。如果我做标签消失并破坏一切。 使用这些代码显示各种语言的新闻节目 我怎么能解决这种折磨?
答案 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;