2010-10-05 6 views
0

J'ai beaucoup de tags d'option. Je voudrais enlever les étiquettes et obtenir seulement les valeurs. Voici le code:preg_replace: remove tags

<?php 
$result = preg_replace('/<option value=\"\d+\" >([A-Za-z0-9]+)<\/option>/', '$1', $result); 
?> 

Je ne peux pas utiliser strip_tags, strip_tags sortie:

id="pesq_marca" class="select164" size="1" onchange="exibeModelosSelectpesq_marca(this.value, 'C','','');" >SelecioneAUDIBMWCHEVROLETCITROENFIATFORDGMCHONDAHYUNDAIJEEPKIA MOTORSMERCEDES-BENZMITSUBISHINISSANPEUGEOTRENAULTSUZUKITOYOTAVOLKSWAGENADAMOAGRALEALFA ROMEOASIA MOTORSBRMBUGGYCADILLACCBTCHAMONIXCHANACHERYCHRYSLERDAEWOODAIHATSUDKWDODGEEFFAENGESAENVEMOFERRARIGURGELHAFEIHUMMERINFINITIIVECO-FIATJAGUARJINBEIJPXLADALAND ROVERLEXUSLIFAN MOTORSLINCOLNLOBINIMAHINDRAMASERATIMAZDAMERCURYMINIMIURAMPNEVIO BRENDLERPORSCHEPROTOTIPOPUMASATURNSEATSHELBYSIMCASMARTSSANGYONGSUBARUTROLLERVOLAREVOLVOWAYWILLYS 

Avec ce code, je reçois le contenu de résultat $ et beaucoup de déchets. Qu'est-ce qui ne va pas? Merci.

+0

-vous dire la conte nts dans le '-tag'

+0

anoob

+1

strip_tags() ?? –

Répondre

1

Exactement votre question a été posée - voir ce billet, il va certainement vous aider (y compris le code de l'échantillon):

Stackoverflow: "php regex to read select form"

Le regex en question (de ce poste) est preg_match_all('@(<option value="([^"]+)">([^<]+)<\/option>)@', $options, $arr);

+1

devrait être un commentaire – SilentGhost

+0

Impossible de trouver des informations sur comment marquer un post comme doublon ou comment lier des messages dans la FAQ. Aussi, je ne vois pas comment cela ne répond pas à la question. (Désolé d'être totalement hors-sujet, mais merci d'avoir fait remarquer que cela devrait être un commentaire) –

+0

Je ne peux pas comprendre cela. Je vous remercie. – anoob

1
$result = preg_replace('/<option.*?>([A-Za-z0-9]+)<\/option>/', '$1', $result); 
+0

Cela ne fonctionne pas. Je reçois la même poubelle qu'avant ... Merci. – anoob

+0

Pouvez-vous poster la poubelle? – methodin

0

Essayez ceci:

preg_match_all('/<option [^>]*?>(.*)<\/option>/', $text, $match); 
print_r($match[1]);