-1
$data = "
usera: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy.
userb: eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam.
userc:voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet.";
preg_match_all("/(.*:)/", $data, $why1);
array_walk_recursive($why1, function($value) use (&$why2) {
$why2[] = $value;
});
$why3 = array_unique($why2);
$why4 = array_values($why3);
preg_match_all("/(.*.)/", $data, $info);
array_walk_recursive($info, function($value) use (&$shrink) {
$shrink[] = $value;
});
$brss = array_unique($array_flat);
$arss = array_values($brss);
for($i=0;$i < count($brss); $i++){
$usera = "$why4[0]";
$userb = "$why4[1]";
$userc = "$why4[2]";
$userd = "$why4[3]";
if (strpos($brss[i], $usera) !== false)
// How can I
{echo "true";}
// ?
// I only get false
else {echo "false";}
}
Как получить истину в поиске массива, задав определенное слово с strpos?Как найти массив для определенного слова с strpos
Как я могу echo "true";
?
Что вы хотите совместить с '. *.'? Несколько раз вы используете 'array_walk_recursive' и цикл' for' для обработки массивов, вы должны попытаться переписать свой код, используя только 'foreach'. –
Я хотел соответствовать имени: bla bla bla. Для geht extely соответствует до. Я использовал http://www.phpliveregex.com для правильного регулярного выражения. –
Чтобы фигурировать буквальное '.' (точка) в регулярном выражении, вам нужно избежать его с помощью обратного слэша' \ .', иначе это означает любой символ, кроме новой строки (это одна из причин, почему это работает). Другое дело, '. *' Не останавливается на первой точке, а на последней точке линии. Чтобы остановиться в первой точке, вам нужно использовать нежирный квантификатор '. *?' –