Я пытаюсь соответствовать этому (имя, в частности):Мое регулярное выражение не знает, когда остановиться
<tr>
<th class="name">Name:</th>
<td>John Smith</td>
</tr>
Как это:
preg_match('/<th class="name">Name:<\/th>.+?<td>(.+)<\/td>/s', $a, $b);
Однако, в то время как он соответствует имя, оно не останавливается в конце имени. Он продолжает собирать еще 150 персонажей. Почему это? Я хочу только совместить имя.
Использовать HTML-парсер, пожалуйста! Во всяком случае, исправить: '(. +)' -> '(. +?)' – nhahtdh
@nhahtdh: Слишком поздно! –
replace '(. +)' To '([^ <] +)' – vlcekmi3