php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 10-09-2006, 21:05
Phoenix666
 Newbie
Links : Onlinestatus : Phoenix666 ist offline
Registriert seit: Sep 2006
Beiträge: 25
Phoenix666 ist zur Zeit noch ein unbeschriebenes Blatt
Question [REGEX] preg_replace

Hi zusammen,
Ich ersetze wörter oder abschnitte mit preg_replace, ok das geht ja auch
nur hab ich da noch ein problem.
Und zwar wenn ich jetzt nach z.b 'Hallo' suche soll er mir dies durch 'Tag' ersetzen, bis hier her kein problem.
Nur möchte ich das wenn 'Hallo' zw. ' "" ' steht dann soll er mir dies nicht ersetzen.
Oder ich suche nach einem Text der zw. "" steht dann soll er mir dies farbig machen nur in den "" steht dann noch ein \" und da soll der nicht beenden erst bei dem letzten " ohne \ .
Hoffe ist irgendwie verständlich!

Wie bekomme ich dies hin?
Kann mir dabei einer helfen?
Mit Zitat antworten
  #2 (permalink)  
Alt 10-09-2006, 21:12
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://regexp-evaluator.de/tutorial/...en/#zirkumflex
Mit Zitat antworten
  #3 (permalink)  
Alt 10-09-2006, 21:18
Phoenix666
 Newbie
Links : Onlinestatus : Phoenix666 ist offline
Registriert seit: Sep 2006
Beiträge: 25
Phoenix666 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke das hab ich gesucht!
direkt mal ausprobieren!
Mit Zitat antworten
  #4 (permalink)  
Alt 10-09-2006, 21:30
Phoenix666
 Newbie
Links : Onlinestatus : Phoenix666 ist offline
Registriert seit: Sep 2006
Beiträge: 25
Phoenix666 ist zur Zeit noch ein unbeschriebenes Blatt
Question

hab das mal probiert:

PHP-Code:
        $matches[1]=preg_replace("/\^([\\&quot;])[&quot;](.*?)\[&quot;]/si""<span style=\"color:red\">\"\\1\"</span> "$matches[1]); 
ich will das der alles was in "" steht farbig macht in dem fall hier Rot.
nur in dem Text stehen dann noch 'negierte' anführungszeichen \"
diese sollen aber nicht berücksichtigt werden!


was mache ich falsch?
Mit Zitat antworten
  #5 (permalink)  
Alt 10-09-2006, 23:03
Phoenix666
 Newbie
Links : Onlinestatus : Phoenix666 ist offline
Registriert seit: Sep 2006
Beiträge: 25
Phoenix666 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bekomme es einfach nicht hin alles hin und her probiert aber es geht nicht!

Aber was ich noch fragen wollte ist ob es auch möglich ist
nach werten zu suchen und ersetzten zb. nach test , is klar das geht
aber test... und ...test und ...test... sollen nicht ersetzte werden. d.h werte die in anderen vielleicht vorkommen sollen nicht ersetzt werden.
hab das schon mit /^(test)?$/ probiert aber das geht nicht .
hoffe es ist einigermaßen verständlich erklärt!


wie kann man das lösen?
Mit Zitat antworten
  #6 (permalink)  
Alt 10-09-2006, 23:09
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mach mal ein paar konkrete beispiele, ab besten die strings direkt in der php-syntax zeigen.
Mit Zitat antworten
  #7 (permalink)  
Alt 10-09-2006, 23:31
Phoenix666
 Newbie
Links : Onlinestatus : Phoenix666 ist offline
Registriert seit: Sep 2006
Beiträge: 25
Phoenix666 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok hier mal ein paar auschnitte


hier der code wo nach " " gesucht wird (das geht auch)
PHP-Code:

$matches
[1]=preg_replace("/\&quot;(.*?)\&quot;/si""<span style=\"color:red\">\"\\1\"</span> "$matches[1]); 
hier ein bsp. Text:

PHP-Code:
$matches[1]='Ein "kleiner \"test\" " text'
so nun soll \" nicht beachtet werden.
Im 1. bsp wird ja nach " " gesucht und der txt Farbig gemacht,
nur hört der bei \" auf unf fäng bei \" wieder an is ja klar weil dort ja
immer ein Anführungszeichen ist. nur dies soll der nicht beachten!
----------------------------------------------------

dann noch nach txt suchen und ersetzten die genau
passen nicht länger und nicht kürzer (...test... usw soll nicht ersetzt
werden sondern nur test)

PHP-Code:
...
$code_suche_b[0]='/test/'
...
$code_ersatz1_b="<span style=\"color:blue\">";
$code_ersatz2_b="</span>";
... 
   for(...)
   {
$matches[1] = preg_replace($code_suche_b[$ib]."isU",$code_ersatz1_b.eregi_replace("\/""" $code_suche_b[$ib]).$code_ersatz2_b,  $matches[1]);
   } 
ich hoffe jetzt is es was klarer was ich meine
Mit Zitat antworten
  #8 (permalink)  
Alt 11-09-2006, 21:14
Phoenix666
 Newbie
Links : Onlinestatus : Phoenix666 ist offline
Registriert seit: Sep 2006
Beiträge: 25
Phoenix666 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mmmh keiner eine Idee?
Mit Zitat antworten
  #9 (permalink)  
Alt 12-09-2006, 12:22
MarkusW
 Newbie
Links : Onlinestatus : MarkusW ist offline
Registriert seit: Feb 2006
Beiträge: 99
MarkusW ist zur Zeit noch ein unbeschriebenes Blatt
Standard

so gehts:

$text = 'Ein "kleiner \"test\" " text';
$pattern = '/([^\\\])"(.+?)([^\\\])"/';
$replace = '$1"<span style="color:red">$2</span>$3"';

echo preg_replace($pattern, $replace, $text);

$1 und $3 müssen wieder mit in den text reingeschrieben werden weil die sonst auch ersetzt werden (also in dem fall die leerzeichen vor den ")
Mit Zitat antworten
  #10 (permalink)  
Alt 13-09-2006, 01:13
Phoenix666
 Newbie
Links : Onlinestatus : Phoenix666 ist offline
Registriert seit: Sep 2006
Beiträge: 25
Phoenix666 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Optimal das geht!
Danke für die antwort!

Ist es denn möglich die Var. $1 $2 und $3 auch rauszuholen ich meine die var weiterbenutzen in einem Script?
Mit Zitat antworten
  #11 (permalink)  
Alt 13-09-2006, 09:13
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Phoenix666
Ist es denn möglich die Var. $1 $2 und $3 auch rauszuholen ich meine die var weiterbenutzen in einem Script?
Die Variablen werden nur für die RegEx gebraucht, das sind KEINE PHP-Variablen!! (auch darum nciht, weil sie vom Namen her nicht erlaubt wären)
Mit Zitat antworten
  #12 (permalink)  
Alt 13-09-2006, 10:05
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

"Rausholen" von Suchtrefferbestandteilen über preg_match(_all).
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #13 (permalink)  
Alt 13-09-2006, 19:41
Phoenix666
 Newbie
Links : Onlinestatus : Phoenix666 ist offline
Registriert seit: Sep 2006
Beiträge: 25
Phoenix666 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die antwort!
habs soweit hinbekommen!

nur noch eine Frage(hoffe ich mal )

nun ich suche bestimmte Worte aus einem Array und lasse diese dann ersetzen, so:
PHP-Code:
$code_suche_g[0]='/text1/';
$code_suche_g[1]='/text2/';
$code_suche_g[2]='/text3/';
...
$code_ersatz_g='ersatztext';
....
$anz=count($code_suche_g)-1;
.....

    for(
$i=0;$i<=$anz ;$i++)
   {
   
$matches[1] = preg_replace($code_suche_g[$i]."isU",   $code_ersatz_g,  $matches[1]);
   } 
$matches[1] = Variable mit dem Text


Das geht auch,
aber nun möchte ich das diese Wörter nicht ersetzt werden wenn sie zw Anführungszeichen " stehen!
bsp:

| Hier ein beispiel "text1" | <- nicht ersetzen
| Hier ein beispiel text1 | <- ersetzen

wie bewerkstellige ich dies?

Hoffe habe nix wichtiges vergessen.



hab schon einiges probiert aber bekomme es nit hin.
REGEX is nit so mein Fall!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Formmailer v1.6.1 Bootstrap 4

Formmailer v1.6.1 Bootstrap wurde extra für Bootstrap entwickelt. Mit Bootstrap kann man schnell und einfach kleine oder große Projekte entwickeln, die auf Geräten in allen erdenklichen Formen funktionieren.

18.12.2018 arne-home | Kategorie: PHP/ Formular
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:52 Uhr.