$str = 'title="room 5 stars"';
preg_match_all('/title="([0-9]+)"/sm', $str, $rate);
我需要从标题中获得5号。正则表达式不起作用!
如果我这样做:
preg_match_all('/title="([0-9]+)"/sm', $str, $rate);
我明白了:
room 5 stars
但是,这个不会返回任何内容:
'/title="([0-9]+)"/sm'
我哪里出错?
答案 0 :(得分:3)
你没有考虑数字周围的字,试试这个:
$str = 'title="room 5 stars"';
preg_match_all('/title=".*(\d+).*"/', $str, $rate);
// The number is then in $rate[1][0];
答案 1 :(得分:1)
您忘记在号码前后匹配文字。
试试:/title=".*([0-9]+).*"/
PS:你不需要 m 和 s 选项
答案 2 :(得分:0)