gpt4 book ai didi

php - preg_replace sql结果和字符串之间的不同结果

转载 作者:行者123 更新时间:2023-11-29 19:12:40 25 4
gpt4 key购买 nike

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

$pattern = '/<div class="formula">(.*?)<\/div>/';
$str = preg_replace($pattern, "", $str);

无法正常工作,没有任何内容被替换......如果我放置静态字符串而不是 $str 则所有工作都正常。

string(2133) "Velocità: <div class="formulaTex">...</div><div class="formula">...</div>

为什么?需要使用某种编码?

如果我将 var 传递给 preg_replace 不起作用,如果我传递静态字符串它就起作用!

这是我的代码:

$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/>";

}

谢谢

最佳答案

我发现错误,来自sql查询标记编码的html实体的字符串,在屏幕上我看到正确的字符串,但真实的字符串有不同的字符......这就是问题!我解决了这个问题:

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

关于php - preg_replace sql结果和字符串之间的不同结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42963539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com