Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php preg_替换sql结果和字符串之间的不同结果_Php_Mysql_Sqlite_Preg Replace - Fatal编程技术网

Php preg_替换sql结果和字符串之间的不同结果

Php preg_替换sql结果和字符串之间的不同结果,php,mysql,sqlite,preg-replace,Php,Mysql,Sqlite,Preg Replace,如果我使用一个简单的preg_替换,我会遇到一个奇怪的问题 $pattern = '/<div class="formula">(.*?)<\/div>/'; $str = preg_replace($pattern, "", $str); $pattern='/(.*)/; $str=preg_replace($pattern,“,$str); 如果我用静态字符串而不是$str,那么所有内容都可以正常工作 string(2133) "Velocità: <di

如果我使用一个简单的preg_替换,我会遇到一个奇怪的问题

$pattern = '/<div class="formula">(.*?)<\/div>/';
$str = preg_replace($pattern, "", $str);
$pattern='/(.*)/;
$str=preg_replace($pattern,“,$str);
如果我用静态字符串而不是$str,那么所有内容都可以正常工作

string(2133) "Velocità: <div class="formulaTex">...</div><div class="formula">...</div>
string(2133)“速度:。。。。。。
为什么?有某种编码可以使用吗

如果我将var传递给preg_replace not work,如果我传递静态字符串,它将工作

这是我的代码:

$db = new PDO('sqlite:ARGOMENTI_NEW.sqlite');;
$result = $db->query("SELECT * FROM Testi WHERE IDSezione = 100");
while($row = $result->fetchAll(PDO::FETCH_ASSOC)){

    $pattern = '/<div class="formula">(.*?)<\/div>/';
    $str = preg_replace($pattern, "", $row[0]["Testo"]);
    echo $str . "<br/><br/><br/>";

}
$db=newpdo('sqlite:ARGOMENTI_new.sqlite');;
$result=$db->query(“从Testi中选择*其中IDSezione=100”);
而($row=$result->fetchAll(PDO::FETCH_ASSOC)){
$pattern='/(.*?)/';
$str=preg_replace($pattern,“,$row[0][“Testo”]);
echo$str.“


”; }

谢谢

我找到了错误,即sql查询戳记编码html实体中的字符串,在屏幕上我看到了正确的字符串,但实际字符串有不同的字符……这就是问题所在!我解决了这个问题:

$str = preg_replace( "/\r|\n/", "", html_entity_decode($row[0]["Testo"]));

如果您不发布字符串,您希望我们如何回答?肯定有区别,问题是有什么区别。可能是一些unicode字符看起来相似。需要向我们显示一个
var_dump()
你的
$str
$pattern
我用字符串和模式的vardump更新我的问题!对我有效:静态字符串也在我的代码上工作,问题是当我尝试从sqlite查询获取此字符串时…我更新了问题