Регулярка для кавычек
Какой-то "там" простой текст "с кавычками
оно должно выцепить только там. Внутри кавычек, кстати, могут быть символы конца строки и знаки препинания.
Додумался пока только до этого:
Код:
\"([\w\sа-яА-Я]+)\"
всё что между ковычками =)
Цитата: Тень Пса
\"(.+)\"
Нет, это неправильно.
"Вот" такая" строка.
"Вот" такая" строка.
Видишь разницу?
\"(.+?)\"
Код:
<?
$str = 'Какой-то "там" простой текст "с кавычками "еще текст" текст без " "текст, в'."\n".' кавычках"';
preg_match_all('/"(\S[^"]*?\S)"/i', $str, $arr);
echo "<pre>";
print_r($arr);
echo "<pre>";
?>
$str = 'Какой-то "там" простой текст "с кавычками "еще текст" текст без " "текст, в'."\n".' кавычках"';
preg_match_all('/"(\S[^"]*?\S)"/i', $str, $arr);
echo "<pre>";
print_r($arr);
echo "<pre>";
?>
Цитата: lex_web
Код:
<?
$str = 'Какой-то "там" простой текст "с кавычками "еще текст" текст без " "текст, в'."\n".' кавычках"';
preg_match_all('/"(\S[^"]*?\S)"/i', $str, $arr);
echo "<pre>";
print_r($arr);
echo "<pre>";
?>
$str = 'Какой-то "там" простой текст "с кавычками "еще текст" текст без " "текст, в'."\n".' кавычках"';
preg_match_all('/"(\S[^"]*?\S)"/i', $str, $arr);
echo "<pre>";
print_r($arr);
echo "<pre>";
?>
Гениально! Респект и уважуха :)
Только две вещи я не понял. Зачем там знак вопроса? Я тестировал, без него тоже работает. И зачем модификатор i? В шаблоне ведь нет ни одной буквы, т.е. регистр не повлияет на него.
Да ты прав, модификатор и знак вопроса оказались лишними.
Цитата: Валериус
Нет, это неправильно.
"Вот" такая" строка.
"Вот" такая" строка.
Видишь разницу?
"Вот" такая" строка.
"Вот" такая" строка.
Видишь разницу?
просто я тебя не совсем понял )
разницу, поверь, вижу =)))
Тень Пса, без обид, так было проще всего объяснить, почему твой вариант не подходит.
удач! :)
Не могли бы вы помочь с похожей проблемой.
Есть к примеру запрос:
Код:
UPDATE `pages` SET `title`='Главная', `name`='/', `body`='it's good', `template`='main' WHERE id='1'
Необходимо достать отсюда параметры между кавычек. Я не очень знаю регулярные выражения и составленная мною регулярка /='([\S]*)'/i запинается на апострофе в it's good.
Заранее спасибо за любую помощь.
Цитата:
/='(.*?)'(\W|\Z)/
Только спотыкается на двух и более кавычках подряд...
из `body`='it's go''o'''d', берет только it's go