Я слабый с регулярным выражением, вам нужна помощь. Моя проблема заключается в том, что я должен извлечь всю строку, которая соответствует заданному шаблону, который у меня есть в массиве. Смотрите проблемы ниже:PHP String Extraction
Строка
<?php
$alert_types = array(
'warning' => array('', __l("Warning!")),
'error' => array('alert-error', __l("Error!")),
'success' => array('alert-success', __l("Success!")),
'info' => array('alert-info', __l("For your information.")),
);?>
preg_match Код
preg_match("/.*[_][_][l][\(]['\"](.*)['\"][\)].*/", $content, $matches);
Я только получаю первый один матч, который Внимание!. Я Ожидая матчи будут иметь следующие значения:
Warning!, Error!, Success!, For your information.
На самом деле я использую file_get_contents ($ файл), чтобы получить строку.
Может ли кто-нибудь помочь мне решить эту проблему. Заранее спасибо.
извините ребята, я использовал preg_match_all вместо preg_match – lukaserat
@mario да вы правы. Я также решил проблему, не глядя на этот возможный дубликат. :) вот мое regex: preg_match_all ("| __l \ (['\"] (. *) [' \ "] \) |", $ content, $ matches, PREG_PATTERN_ORDER); для тех, кто заинтересован. – lukaserat