【发布时间】:2016-08-20 20:47:57
【问题描述】:
我正在使用 preg_split 将字符串拆分为单词。
但是,它不适用于从 mysql 文本列中获取的特定字符串。
如果我手动将字符串分配给变量,它会正常工作,但在从数据库中获取字符串时不会。
这是我正在使用的简单代码:
//The failing string. When manually assigned like this it works correctly
$string = "<p><strong>Iden is lesz lehetoseg a foproba és a koncert napjan ebedet kerni a MUPA-ban. Ára 1000-1200 Ft körül várható. Azoknak, akik még nem jártak a MUPA-ban ingyenes bejarasi lehetoseget biztositunk. Tovabba segitunk a pesti szallas megszervezeseben is, ha igenyt tartotok ra.</strong></p>";
$string = strip_tags(trim($string));
$words = preg_split('/\PL+/u', $string, null, PREG_SPLIT_NO_EMPTY);
以下是从数据库调用字符串时 preg_split 返回的内容:
array(1) { [0]=> string(269) "Iden is lesz lehetoseg a foproba és a koncert napjan ebedet kerni a MUPA-ban. Ára 1000-1200 Ft körül várható. Azoknak, akik még nem jártak a MUPA-ban ingyenes bejarasi lehetoseget biztositunk. Tovabba segitunk a pesti szallas megszervezeseben is, ha igenyt tartotok ra." }
有谁知道是什么导致 preg_split 对该字符串失败?
谢谢
【问题讨论】:
-
它到底是怎么失败的?
-
@mistermartin - 请查看有问题的返回内容。它返回整个字符串而不是拆分它
-
The code looks working。也许
-1比null更好?试试$words = preg_split('/\PL+/u', $string, -1, PREG_SPLIT_NO_EMPTY); -
@PaulAtkins 您向我们展示了有效的代码,而不是无效的代码。
-
您的评论说手动分配它时有效。 @WiktorStribiżew 测试页也可以。你怎么得到那个字符串?
标签: php regex preg-split