#javascript #php #regex
#javascript #php #регулярное выражение
Вопрос:
Мне просто нужно извлечь client_token
значение из HTML — кода.Вот моя попытка до сих пор
preg_match("#var client_token(.*)=(.*)'(.*?)'#is", $html, $match);
Комментарии:
1.
/var client_token = '(.*?)';/
2. @Mohammad отправьте сообщение в качестве ответа, чтобы я мог принять
3. Пожалуйста, отметьте один ответ, чтобы закончить это обсуждение.
Ответ №1:
Используйте s вместо .*, чтобы избежать случайного сопоставления:
preg_match("#var client_tokens*=s*'(.*?)'#is", $html, $match);
Ответ №2:
Если html-код является постоянным, вы можете использовать нижний код.
preg_match("/var client_token = '(.*?)';/", $html, $match);
Но если space
и qoute
неизвестно, используйте это
preg_match("/vars client_tokens*=s*['|"](.*?)['|"]s*;/", $html, $match);
s
сопоставление одного / нескольких пробеловs*
совпадение нет / один / несколько пробелов['|"]
совпадение'
или"
Ответ №3:
Это самый компактный и простой для понимания:
preg_match("/client_token[^']*'([^']*)/", $html, $match);