Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: все кроме определенных символов которые идут вподряд
 
 автор: vilk   (15.08.2011 в 08:23)   письмо автору
 
 

Каким образом найти все символы которые находятся до - [#a id=999] ?
Таким образом - [^anc] можно искать все кроме этих символов(но таким образом нельзя искать - все кроме определенных символов которые идут один за другим). Каким образом искать все символы кроме определенных символов которые идут один за другим?

  Ответить  
 
 автор: cheops   (15.08.2011 в 08:59)   письмо автору
 
   для: vilk   (15.08.2011 в 08:23)
 

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

  Ответить  
 
 автор: vilk   (15.08.2011 в 10:11)   письмо автору
 
   для: cheops   (15.08.2011 в 08:59)
 

есть переменная с таким текстом -

$text = "Стратегия. <p>позиционирования охватывает ролевой социальный статус, признавая определенные [#a id=999]текст[/#a] рыночные тенденции.</p> 
Креативная концепция программирует типичный охват аудитории, полагаясь на инсайдерскую информацию.";


Мне нужно получить весь текст до - " [#a id=999]". Притом текст может быть каждый раз разный и могут по одному попадаться символы, что тут - " [#a id=999]"

  Ответить  
 
 автор: cheops   (15.08.2011 в 11:24)   письмо автору
 
   для: vilk   (15.08.2011 в 10:11)
 

Можно начать отталкиваться от следующего скрипта
<?php 
  $text 
"Стратегия. <p>позиционирования охватывает ролевой 
  социальный статус, признавая определенные [#a id=999]текст[/#a]
  рыночные тенденции.</p>  
  Креативная концепция программирует типичный охват аудитории,
  полагаясь на инсайдерскую информацию."
;
  
$str '[#a id=999]'
  
$pattern '/(.*)(?='.preg_quote($str).')/is'
  if(
preg_match ($pattern$text$out))
  {
    echo 
$out[1]; 
  }
?>

  Ответить  
 
 автор: Deed   (15.08.2011 в 19:27)   письмо автору
 
   для: cheops   (15.08.2011 в 11:24)
 

Здравствуйте!
А не проще ли:


<?
$text
=preg_replace("/\[.+\]/","",$text);
//а потом:
$text=preg_replace("/\s{2,}/"," ",$text)
//или str_replace...
?>


Это, если я правильно понял, человеку нужно избавиться от якорей в текстах.

  Ответить  
 
 автор: vilk   (16.08.2011 в 06:44)   письмо автору
 
   для: cheops   (15.08.2011 в 11:24)
 

Cheops, огромное Вас спасибо. Именно то, что мне нужно.

Deed, Вы немного неправильно поняли но в любом случае спасибо, что написали тут

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования