2012-01-05 3 views
0

Пусть у меня есть строка, как этоттянуть конкретные данные из строки с PHP

sometext<br>sometext<br>sometext(Rating 50)<br>sometext<br> 

Все, что я хочу получить от этой строки является «50» сразу после «Рейтинга». Количество может варьироваться от 1 до 3 цифр.

Могу ли я использовать что-то вроде preg_replace? взрываются? не уверен, как его получить.

+0

'preg_replace ('/ \ (Рейтинг (\ d +) \) /', '$ 1', $ thestring);' – LeleDumbo

ответ

3
 

$str = "sometext<br>sometext<br>sometext(Rating 50)<br>sometext<br>"; 
preg_match('/\(Rating (\d+)\)/',$str, $matches); 
echo $matches[1]; 
+0

Это помогло :) – user1130861

+0

Если ответ Суджира сработал, подумайте о принятии его через галочку влево ответа. Таким образом, люди с большей вероятностью ответят на ваши будущие вопросы. – kontur

0

Вы можете использовать explode, чтобы получить отдельные компоненты, а затем искать "Rating". Тогда 50 будет элементом после "Rating". Конечно, если вы собираетесь часто использовать подобную процедуру, лучше создать вспомогательную функцию, которую вы можете использовать повторно.

Но имейте в виду, что это будет работать только для первого вхождения строки, которую вы ищете.

Возможно, есть элегантное решение, включающее Regular Expressions, в отличие от создания промежуточного массива и цикла.

Смежные вопросы