2010-11-22 9 views
-1

Pour mettre simplement, j'essaye de trouver et de remplacer le texte avec les balises xhtml enveloppées sans toucher le texte environnant. Idéalement je vais utiliser regex dans Notepad ++ mais ai eu aucune expérience avec des expressions régulières et qu'une expérience limitée avec PHP,parsing chaîne utilisant regex ou php

Par exemple:

Year: 2007 Registration: XYZS23 
Transmission: Auto Stock Number: AZ1234 
Kilometres: 1280 Colour: Blue 
Features: 
includes cruise control. 

Avec le texte analysé, il serait alors ressembler à ce qui suit:

<strong>Year:</strong> 2007 <strong>Registration:</strong> XYZS23 
<strong>Transmission:</strong> Auto <strong>Stock Number:</strong> AZ1234 
<strong>Kilometres:</strong> 1280 <strong>Colour:</strong> Blue 
<strong>Features:</strong> 
includes cruise control. 

alors toutes les suggestions seraient grandement appréciées.

Répondre

0

Vous pouvez rechercher [^\s{2,}]+: et remplacez par <strong>$0</strong> ou <strong>\0</strong> en fonction de l'éditeur.

Ici c'est dans TextMate!

http://i.stack.imgur.com/5aqfO.png

+0

m en utilisant Notepad ++ Unicode sous Windows Vista vicieux si cela aide? Mais quand j'utilise le code ci-dessus, il remplace malheureusement avec le texte littéral (sans les guillemets) "$ 0" – gadgetguy

+0

Avez-vous essayé \ 0 à la place? Je n'ai pas Windows à tester. –

+0

oui ... malheureusement, il a fait de même et a fait un remplacement littéral. c'est-à-dire "\ 0" – gadgetguy

0

Alors - vous devrez rechercher ceci:

<whitespace> <any non-null number of alphanumerical characters> : <whitespace> 

qui sera, lors de l'utilisation preg_replace (regex en PHP) ressembler à ceci:

$parsed = preg_replace("/([A-Z]+:)/", "<strong>$0</strong>", $original); 
+0

Désolé d'être une douleur, mais est-il possible de le faire dans Notepad ++? J'ai essayé d'utiliser l'expression regex sans les guillemets, mais elle remplace littéralement: ie. remplace chaque recherche par $ 0 gadgetguy

+0

Essayez '\ 0' à la place. –

+0

Cela ne correspond pas au champ "Stock Number". Vous auriez besoin de faire/[^ \ s {2,}] +:/dans NotePad ++ et remplacer par $ 0 Je crois. –

0

Essayez ceci:

search : ([a-zA-Z]+ *[a-zA-Z]*:) 
replace: <strong>\1</strong>