php для извлечения строки из двойной кавычки

У меня есть строка:

Это текст, «Ваш баланс оставил $ 0.10», Конец 0

Как я могу извлечь строку между двойными кавычками и иметь только текст (без двойных кавычек):

Ваш баланс оставил $ 0,10

Я попробовал preg_match_all() но не повезло.

Solutions Collecting From Web of "php для извлечения строки из двойной кавычки"

Пока формат остается таким же, вы можете сделать это, используя регулярное выражение. "([^"]+)" будет соответствовать шаблону

  • Дважды цитатой
  • По крайней мере одна не-двойная кавычка
  • Дважды цитатой

Скобки вокруг [^"]+ означают, что эта часть будет возвращена как отдельная группа.

 <?php $str = 'This is a text, "Your Balance left $0.10", End 0'; //forward slashes are the start and end delimeters //third parameter is the array we want to fill with matches if (preg_match('/"([^"]+)"/', $str, $m)) { print $m[1]; } else { //preg_match returns the number of matches found, //so if here didn't match pattern } //output: Your Balance left $0.10 

Для всех, кто ищет полнофункциональный синтаксический анализатор строк, попробуйте следующее:

 (?:(?:"(?:\\"|[^"])+")|(?:'(?:\\'|[^'])+')); 

Использовать в preg_match:

 $haystack = "something else before 'Lars\' Teststring in quotes' something else after"; preg_match("/(?:(?:\"(?:\\\\\"|[^\"])+\")|(?:'(?:\\\'|[^'])+'))/is",$haystack,$match); 

Возвращает:

 Array ( [0] => 'Lars\' Teststring in quotes' ) 

Это работает с одинарными и двойными кавычками.

Попробуй это :

 preg_match_all('`"([^"]*)"`', $string, $results); 

Вы должны получить все извлеченные строки в $ results [1].

В отличие от других ответов, это поддерживает escape- "string with \" quote in it" , например "string with \" quote in it" .

 $content = stripslashes(preg_match('/"((?:[^"]|\\\\.)*)"/')); 

Регулярное выражение '"([^\\"]+)"' будет соответствовать любому из двух двойных кавычек.

 $string = '"Your Balance left $0.10", End 0'; preg_match('"([^\\"]+)"', $string, $result); echo $result[0]; 

Просто используйте str_replace и избегайте цитаты:

 str_replace("\"","",$yourString); 

Редактировать:

Извините, не видел, что после второй цитаты был текст. В этом случае я бы просто 2 поисковых запроса, один для первой цитаты и один для 2-й цитаты, а затем сделать субстрат для добавления всего материала между ними.