Манипуляция строк в PHP - PullRequest
       2

Манипуляция строк в PHP

0 голосов
/ 29 ноября 2010

У меня есть строка в php, она может быть в одном из двух форматов - либо:

"example1" AND somethingelse = "example2"

или просто

"example1"

Все, что мне нужно, это получить данные в речевых метках, будь то оба или только один.

ура!

Ответы [ 3 ]

5 голосов
/ 29 ноября 2010
preg_match( '/"([^"]*)"/' , $string, $matches )  
# $matches is an array with the results
# ignore $matches[0]
# $matches[1] will contain the first string inside double-quotes
# $matches[2] will contain the second string inside double-quotes (if any)

подробнее здесь: http://www.php.net/manual/en/function.preg-match.php

0 голосов
/ 29 ноября 2010

Спасибо за помощь, я справился с этим немного задом наперед, используя ответ Баусерениора и немного подсчитав!

    //Find amount of Speech marks
$stringCount = substr_count($newstring, '"'); 


if ($stringCount == 2){

    preg_match( '/".*?"/' , $newstring, $matches);

    foreach ($matches as $data) 
    {
    print_r($data);
    }


}else{

    //Get first speech marks

    preg_match( '/".*?"/' , $newstring, $matches);

    foreach ($matches as $data) 
    {
    print_r($data);
    }


    //Get second speech marks

     $endString =  substr($newstring,-4);

    echo $endString;


}
0 голосов
/ 29 ноября 2010

Если вы хотите заменить текст, поможет следующее регулярное выражение:

http://php.net/manual/en/function.preg-replace.php

ИЛИ, если вы не хотите заменять текст, вы можете сопоставить его с помощью:

http://www.php.net/manual/en/function.preg-match.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...