Regex again and again and again

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Regex again and again and again

Δημοσίευση από ThyClub » 01 Δεκ 2008 21:12

Μετά απο πολύ καιρό ξαναβρήκα λίγο χρόνο να γράψω.
Έχω ενα προβληματάκι με ενα regex που προσπαθώ τις τελευταίες μέρες.

Θέλω να βρώ και να αντικαταστήσω το "\b" με κάτι άλλο στο $contents.

Ετσι προσπαθώ:

Κώδικας: Επιλογή όλων

<?php

$contents = preg_replace&#40;"/\b\\\\b\b/","Replaced",$contents&#41;;

?> 
Αυτό δουλεύει αλλά μόνο αν το "\b" είναι ανάμεσα απο άλλους χαρακτήρες πχ:

Κώδικας: Επιλογή όλων

"hello\bmyfriend"
Αν όμως το "\b" είναι σε μία πρόταση :

Κώδικας: Επιλογή όλων

"hello \b my friend"
τότε απλά δεν το βρίσκει.

Εγώ θέλω να το βρίσκει και στις 2 περιπτώσεις. Το τρελό είναι οτι καλά κάνει εφόσον έχω βάλει word boundary αλλά και χωρίς το \b ή δεν το βρίσκει καθόλου ή βρίσκει όλα τα "b" και όχι τα "\b".


Αν αυτό βοηθάει θα σας πώ και γιατί το θέλω... Φτιάχνω εναν RTF reader και ενώ έχω φτάσει σε πολύ καλό επίπεδο.. κόλλησα εδώ.

Ευχαριστώ :wink:

Άντε κι όταν βάλω internet σπίτι θα τα λέμε συχνότερα. :wink:

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Regex again and again and again

Δημοσίευση από fafos » 01 Δεκ 2008 21:52

$contents = preg_replace("/\\\b/","Replaced",$contents);

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Regex again and again and again

Δημοσίευση από ThyClub » 01 Δεκ 2008 21:57

Νομίζω ότι αυτό θα πετάξει λάθος στο regex γιατί :

το "\\" θα γίνει "\" και το "\b" θα μετατραπεί σε word boundary command στο regex... Θα το δοκιμάσω βέβαια αλλά νομίζω οτι το έφαγα στη μάπα και αυτό χτες.

Άβαταρ μέλους
dik_
Δημοσιεύσεις: 476
Εγγραφή: 07 Ιουν 2007 11:28

Regex again and again and again

Δημοσίευση από dik_ » 01 Δεκ 2008 21:59

Κώδικας: Επιλογή όλων

$contents = preg_replace&#40;"#\\\b#","__",$contents&#41;; 
edit: με πρόλαβε fafos ;)

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Regex again and again and again

Δημοσίευση από ThyClub » 01 Δεκ 2008 22:49

Τώρα που το ξαναβλέπω ναι έτσι πρέπει να είναι. Ευχαριστώ.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες