Mam tytuł tekstu, który czytaUżyj regex/php czytać tekst wewnątrz cytatów
This User "The Title Of The Post"
chcę złapać tylko co jest wewnątrz cudzysłowów i przechowywać ją w zmiennej. Jak to zrobić z regex i php?
Mam tytuł tekstu, który czytaUżyj regex/php czytać tekst wewnątrz cytatów
This User "The Title Of The Post"
chcę złapać tylko co jest wewnątrz cudzysłowów i przechowywać ją w zmiennej. Jak to zrobić z regex i php?
<?php
$x = 'This User "The Title Of The Post"';
preg_match('/".*?"/', $x, $matches);
print_r($matches);
/*
Output:
Array
(
[0] => "The Title Of The Post"
)
*/
?>
<?php
$string = 'This User "The Title Of The Post"';
preg_match_all('/"([^"]+)"/', $string, $matches);
var_dump($matches);
$string = 'This user "The Title Of The Post"';
$its_a_match = preg_match('/"(.+?)"/', $string, $matches);
$whats_inside_the_quotes = $matches[1];
$its_a_match
będzie 1
jeśli dokonał udanego meczu, inaczej 0
. $whats_inside_the_quotes
będzie zawierał ciąg dopasowany w zestawie nawiasów w wyrażeniu regularnym.
W przypadku, gdy jest nieco niejasne (jest), preg_match() faktycznie daje wartość $matches
(trzeci argument).
$str = 'This User "The Title Of The Post"';
$matches = array();
preg_match('/^[^"]*"([^"]*)"$/', $str, $matches);
$title = $matches[1];
echo $title; // prints The Title Of The Post
@opello, @Patrick - czy ktokolwiek z was mógłby wyjaśnić tę odpowiedź troszeczkę ... Wciąż jestem nowy regex. Chcę wykonać podobne zadanie - "odczytaj liczbę zaraz po' site_ids == 'z' site_ids == 34 || sales_region == 45' "(tzn. regex powinien zwrócić 34). Próbowałem z' preg_match ('/^ [^ site_ids ==] * || ([^ ||] *) "$ /", $ str, $ mecze); 'po' $ str = 'site_ids == 34 || sales_regio n == 45 '; 'i brak rezultatów. Nie jestem pewien, czy '' 'potrzebuje ucieczki. Separator w pytaniu to podwójny cudzysłów ('' '), podczas gdy w moim przypadku są to' site_ids == 'i' || '. Jaki byłby dla mnie poprawny regex? Dzięki. –
To samo, co wymyśliłem. :-) –
nie globalny:, - ( –
Na plakacie pytano o "co słychać WEWNĄTRZ cudzysłowów", a przyjęte rozwiązanie zawiera cudzysłowy.Moje rozwiązanie wyklucza cudzysłowy z żądanego plakatu – Asaph