ex: <a><strike>example data in here</strike></a>
Я хочу все внутри тега, до конца
/<a>([^<]*)<\/a>/
Он работает, когда в теге <a> нет дополнительных тегов, но что, если они есть?
Я хочу знать, можете ли вы сказать это, чтобы захватить все до [^</a>] вместо [^<] .
Выполнение этого с /<a>(.*)<\/a>/ не работает. Иногда я получаю все в теге <a> а иногда я получаю тонны строк, включенных в этот вызов.
/<a>(.*?)<\/a>/
должно сработать. ? делает его ленивым, поэтому он хватает как можно меньше, прежде чем сопоставлять </a> часть. но используя. будет означать, что он соответствует всем, пока не найдет </a> . Если вы хотите иметь возможность сопоставлять строки, вы можете использовать следующее, если с preg_match
/<a>(.*?)<\/a>/s
«S» в конце ставит регулярное выражение в режиме «одной линии», что означает «. символ соответствует всем символам, включая новые строки. Другие полезные модификаторы