Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Шаблон для текста, Шаблон для текста городов
casper - gg  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 1 год, 1 день
Карма: 10




Некоторые из возможных вариантов строк:
Цитата

Чебурахово
пгт Чебурахово
пгт. Чебурахово
пгт.Чебурахово

Чебурашинский р-н/пгт Чебурахово
и т.п.


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

preg_match( "/^ (?:*//)* (*)+ $/",  $string, $out );


$out[1] - это ж значение из этого (*)+, по идее?

Это сообщение отредактировал casper - gg - 15.03.2016 - 21:26
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 1 год, 1 день
Карма: 10




первый не работает, вот так вроде работает:


preg_match( "#^([^/]+[/]+)*([^/]+)+$#ui", $string, $out );
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
s-log  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 1
Пользователь №: 42741
На форуме: 8 месяцев, 10 дней
Карма:




Почему бы не взять последнее слово в строке?


$string = 'Retrieving the last word of a string using PHP.';
$last_word_start = strrpos($string, ' ') + 1; // +1 so we don't include the space in our result
$last_word = substr($string, $last_word_start); // $last_word = PHP.


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25982
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 21 день
Карма: 725

Не курю:
1 год, 2 месяца, 8 дней


preg_match("#([\-а-яё]*)$#iuU", $str, $m);


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 1 год, 1 день
Карма: 10




Цитата (s-log @ 25.03.2016 - 12:44)
Почему бы не взять последнее слово в строке?

Цитата (Игорь_Vasinsky @ 25.03.2016 - 13:50)
preg_match("#([\-а-яё]*)$#iuU", $str, $m);


спасибо, прокручу эти варианты, ... с exel файла читается 10т. строк,... неизвестно какие варианты могут встречаться, со слэшем или без или еще что. Правда нужная фраза может состоять из двух последних слов, а может из одного и может быть перед слэшем если есть слово "район". Пока что вот это работает, но буду думать над упрощением шаблона:

preg_match( "#^([^\s]+[\s]+район/)*(?:[^/]+[/]+[\s]*)*([^/]+)+$#ui", $res, $out );
$reg = !empty( $out[1] ) ? trim( $out[1], '/' ) : $out[2];


Это сообщение отредактировал casper - gg - 25.03.2016 - 19:15
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25982
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 21 день
Карма: 725

Не курю:
1 год, 2 месяца, 8 дней


моя регулярка выташит последнее слово в строке, либо 2 (и более) через дефис

г.Харьков
г. Гусь-Хрустальный


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса