PHP получить часть строки до div и после comman
Пожалуйста, кто-нибудь может мне помочь? Мне нужно только получить часть слова в строке, используя PHP. В следующем примере мне нужно получить слово Kimberley из следующей строки:
13 Angel Street, El Toro Park, Kimberley <div Id='rentals' Class='rentals'>Agencies</div> <div Id='rentalsix' Class='rentals'>5</div>
Я пробовал следующее:
$searchaddress = 13 Angel Street, El Toro Park, Kimberley <div Id='rentals'
Class='rentals'>Agencies</div> <div Id='rentalsix' Class='rentals'>5</div>;
preg_match('|<[^>]*rentals[^>]*>(.*?)<|', $searchaddress, $m);
$newvalue = $m[1];
echo htmlspecialchars($newvalue));
Это работает, но это только выдает слово Agenncies из строки. Мне нужно слово Кимберли.
3 ответа
Решение
Я надеюсь, это поможет.
//this is your string.
$text = '13 Angel Street, El Toro Park, Kimberley <div Id=\'rentals\' Class=\'rentals\'>Agencies</div> <div Id=\'rentalsix\' Class=\'rentals\'>5</div>';
//find position of ',' from where you want to explode using strrpos
$pos=strrpos($text,',',2);
// explode string from given postion.
$text=substr($text,$pos);
//find the text that exist between ',' and starting bracket of div '<'
preg_match('#,(.*?)<#', $text, $match);
// output
var_dump( $match[1]);
Чтобы игнорировать теги HTML, используйте strip_tags
PHP функция подробнее смотрите эту ссылку STRIPTAGS.
Если вы хотите первую строку перед первым div, используйте explode
функция.
$searchaddress = 13 Angel Street, El Toro Park, Kimberley <div Id='rentals'
Class='rentals'>Agencies</div> <div Id='rentalsix' Class='rentals'>5</div>;
strip_tags($searchaddress);
Чтобы получить только первую часть строки.
$str = explode("<div",$searchaddress);
echo $str[0];
$exp = explode(' <div', $searchaddress );
$exp = explode(' ', $exp[0]);
$exp = $exp[count($exp)-1];
как вариант.