我花了一段时间在互联网上搜索,但仍然无法找出我的脚本无法正常工作的原因:(
这是我需要检查的字符串($ title)
Nanatsu no Taizai – Chương 071: Tồn tại trong bóng đêm
并且我使用的正则表达式列表但总是返回false
"/^([a-z\ ]+)[\-]{1,}/i"
"/^([a-z\ ]+)[\ ]{0,1}[\-]{1,}/i"
"/^([a-z\ ]+)[\-]{1,}/ui"
我使用的代码是
preg_match($regex,$title,$matches)
请帮帮我。提前谢谢。
答案 0 :(得分:4)
如果您只是尝试将所有内容提取到第一个-
,那么最好的方法就是不要使用正则表达式。 strtok和trim可能适合您:
$result = trim(strtok($title, '-'));
如果您希望结果包含-
,则可以执行以下操作:
$result = strtok($title, '-') . '-';
答案 1 :(得分:0)
也许这对你有用
$t = "Nanatsu no Taizai - Chương 071: Tồn tại trong bóng đêm";
preg_match('/(.*) - (.* [0-9]{1,}:) (.*)/i', $t, $matches);
print_r($matches);
结果
Array
(
[0] => Nanatsu no Taizai - Chương 071: Tồn tại trong bóng đêm
[1] => Nanatsu no Taizai
[2] => Chương 071:
[3] => Tồn tại trong bóng đêm
)
更好?
答案 2 :(得分:-1)
查看Unicode character properties,从表格中找到您的语言并使用 \ p {Thai}