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-10-2006, 12:33
Avalon03
 Newbie
Links : Onlinestatus : Avalon03 ist offline
Registriert seit: Oct 2006
Ort: Germany, Köln
Beiträge: 8
Avalon03 ist zur Zeit noch ein unbeschriebenes Blatt
Standard preg_regplace

Mein Programm

Wenn ich in das Textfeld z.B. folgendes eingebe:

[19:12:23]<Avalon>Hallo! Das ist ein Test

soll das asugeben werden:

Avalon: Hallo! Das ist ein Test

Das klappt auch soweit. Aber wenn ich nun mehrer Zeilen eingebe, dann spinnt er rum:

z.B:

Eingabe:

[19:19:16]<Avalon>lalala
[19:19:18]<Shadoman>lalala

Ausgabe:

[19:19:16]lalala [19:19:18]lalala



Mein Quellcode:
Code:
<HTML>
<HEAD>
<TITLE>Test </TITLE>

</HEAD>

<BODY>
PHP-Code:
<?php if(isset($_POST['quelltext']))  { echo preg_replace('/^\[\d+:\d+:?\d+?\]\s?\<(\w+)\>\s?(.*)$/','${1}: $2',$_POST['quelltext']); } ?>
<form action="test.php" method="POST"> <br> <textarea name="quelltext" wrap="physical" cols=50 rows=10></textarea> <br> <input type="submit" name="submit" value="ausrechnen"> <input type="reset" value="reset"> </form> </BODY> </HTML>
Mit Zitat antworten
  #2 (permalink)  
Alt 10-10-2006, 15:08
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: preg_regplace

PHP-Code:
<?php
if(isset($_POST['quelltext']))  {
  
$exploded explode("\n"$_POST['quelltext']);
  foreach (
$exploded as $key => $value) {
    
$exploded[$key] = preg_replace('dein regex''dein replace'$value);
  }
  echo 
implode("\n"$exploded);
}
?>
ist zwar so performant wie nix, aber sollte es tun...
Mit Zitat antworten
  #3 (permalink)  
Alt 10-10-2006, 15:13
Avalon03
 Newbie
Links : Onlinestatus : Avalon03 ist offline
Registriert seit: Oct 2006
Ort: Germany, Köln
Beiträge: 8
Avalon03 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Schonmal danke für deine Antwort.


Könntest du dein Code bitte noch was erläutern. Bin ein ziemlicher PHP-Neuling.

Kann ich dein Code so übernehmen oder muss ich da noch Sachen berücksichtigen?

Danke
Mit Zitat antworten
  #4 (permalink)  
Alt 10-10-2006, 15:25
Lennie
 PHP Senior
Links : Onlinestatus : Lennie ist offline
Registriert seit: May 2006
Beiträge: 1.013
Lennie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

1. bei der eingabe von

[19:18:22]<"Avalon">Das ist ein Test.
[19:22:23]Juhu, es geht!

wird


[19:18:22]<\"Avalon\">Das ist ein Test.
[19:22:23]Juhu, es geht!

ausgegeben. wenn ich es bei deiner seite mahe.

du musst natürlich noch die einzelnen ersätzungen definieren.
zum beispiel

$inhalt = "[23:23:23]Hallo!";
$inhalt = preg_replace("[(.*?)]", "//1 - ", $inhalt);
echo $inhalt;

würde

22:23:23 - Hallo!

ausgeben.
vielleicht informierst du dich noch über die angewanten functionen von oben. explode und implode

dieses teil solltest du an die preg_replace stelle füllen, die oben gestellt wurde. allerdings musst du den variablen namen angleichen.

Geändert von Lennie (10-10-2006 um 15:30 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 10-10-2006, 15:55
Avalon03
 Newbie
Links : Onlinestatus : Avalon03 ist offline
Registriert seit: Oct 2006
Ort: Germany, Köln
Beiträge: 8
Avalon03 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die Antworten.

Ich hatte nen kleinen Fehler auf der Seite im Beispiel.
Habs mal berichtigt.

http://schlafbaer.sc.ohost.de/test.php

Code:
<HTML>
<HEAD>
<TITLE>mIRC-Changer </TITLE>
</HEAD>
<BODY bgcolor=skyblue>
<h1>mIRC-Changer</h1>
<br>
<br>
Hier kann man IRC-Logs in eine normale Dialogform umwandeln.
<br>
<br>
z.B.:
<br>
<br>
<b>Eingabe:</b>
<br>
[19:18:22]&lt;Avalon&gt;Das ist ein Test.
<br>
[19:22:23]&lt;Avalon&gt;Juhu, es geht!
<br>
<br>
<b>Ausgabe:</b>
<br>
Avalon: Das ist ein Test.
<br>
Avalon: Juhu, es geht!
<br>
<form action="test.php" method="POST">
<br>
<textarea name="quelltext" wrap="physical" cols=50 rows=10></textarea>
<br>
<input type="submit" name="submit" value="ausrechnen">
<input type="reset" value="reset">
</form>
<br>
PHP-Code:
<?php if(isset($_POST['quelltext']))  {   $exploded explode("\n"$_POST['quelltext']);   foreach ($exploded as $key => $value) {     $exploded[$key] = nl2br(preg_replace('/^\[\d+:\d+:?\d+?\]\s?\<(\w+)\>\s?(.*)$/''${1}: $2'$value));   }   echo implode("\n"$exploded); } ?>
</BODY> </HTML>

Nun funktioniert es. (Hoffe ich zumindest *lach*)
Mit Zitat antworten
  #6 (permalink)  
Alt 10-10-2006, 16:00
Avalon03
 Newbie
Links : Onlinestatus : Avalon03 ist offline
Registriert seit: Oct 2006
Ort: Germany, Köln
Beiträge: 8
Avalon03 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

So habe nun noch eine Frage:


Ich möchte das Zeilen die mit einem * beginnen gelöscht werden.

Und ich möchte die Ausgabe farbig haben, am besten in Rot!

Danke schonmal im Voraus

Geändert von Avalon03 (10-10-2006 um 16:02 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 10-10-2006, 16:12
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Avalon03
So habe nun noch eine Frage:


Ich möchte das Zeilen die mit einem * beginnen gelöscht werden.

Und ich möchte die Ausgabe farbig haben, am besten in Rot!

Danke schonmal im Voraus
tjo, dann mach doch
Mit Zitat antworten
  #8 (permalink)  
Alt 10-10-2006, 16:13
Avalon03
 Newbie
Links : Onlinestatus : Avalon03 ist offline
Registriert seit: Oct 2006
Ort: Germany, Köln
Beiträge: 8
Avalon03 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Würde ich ja gerne, aber ich weiss nicht wie das geht


Ich bräuchte da doch eurer Hilfe.

Und dann soll da noch was rein.

http://schlafbaer.sc.ohost.de/test.php


Einfach mal auf die Seite gucken, das müsste eigentlich selbsterklärend sein!

Geändert von Avalon03 (10-10-2006 um 16:42 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 10-10-2006, 16:52
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Avalon03
Würde ich ja gerne, aber ich weiss nicht wie das geht
Dann wirst du jetzt erstmal HTML lernen, "rot" hat nichts mit PHP zutun
und danach wirst du dir substr angucken
Mit Zitat antworten
  #10 (permalink)  
Alt 10-10-2006, 17:01
Avalon03
 Newbie
Links : Onlinestatus : Avalon03 ist offline
Registriert seit: Oct 2006
Ort: Germany, Köln
Beiträge: 8
Avalon03 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Es wird doch aber im php-Teil ausgegeben.


Ich guck mir das mit substr. mal an!
Mit Zitat antworten
  #11 (permalink)  
Alt 10-10-2006, 17:05
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Avalon03
Es wird doch aber im php-Teil ausgegeben.
Und was gibst du im php-Teil aus?
HTML.
Mit Zitat antworten
  #12 (permalink)  
Alt 11-10-2006, 10:20
Avalon03
 Newbie
Links : Onlinestatus : Avalon03 ist offline
Registriert seit: Oct 2006
Ort: Germany, Köln
Beiträge: 8
Avalon03 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Habs jetzt einigermassen geschafft mir da was zurecht zu basteln

Code:
<HTML>
<HEAD>
<TITLE>mIRC-Changer </TITLE>
</HEAD>
<BODY bgcolor=skyblue>
<h1>mIRC-Changer</h1>
<br>
<br>
Hier kann man IRC-Logs in eine normale Dialogform umwandeln.
<br>
<br>
z.B.:
<br>
<br>
<b>Eingabe:</b>
<br>
<U>Style1:</U> [19:18:22]&lt;Avalon&gt;Das ist ein Test.
<br>
<U>Style2:</U> (19:22:23)(@Avalon)Das ist ein Test.
<br>
<br>
<b>Ausgabe:</b>
<br>
<U>Style1:</U> <font color=red>Avalon:<font color=black> Das ist ein Test.
<br>
<U>Style2:</U> <font color=red>Avalon:<font color=black> Das ist ein Test.
<br>
<form action="test.php" method="POST"><br>
Style1:<input type="radio" value="0" name="style">
<br>
Style2:<input type="radio" value="1" name="style">
<br>
<textarea name="quelltext" wrap="virtual" cols=50 rows=10></textarea>
<br>
<input type="submit" name="submit" value="ausführen">
<input type="reset" value="reset">
</form>
<br>
<br>
PHP-Code:
<?php if($_POST['style'] == 0) {     if(isset($_POST['quelltext']))  {      $exploded explode("\n"$_POST['quelltext']);      foreach ($exploded as $key => $value) {         if($exploded[$key][0]!='*')             $exploded[$key] = "<font color=\"#FF0000\">".nl2br(preg_replace('/^\[\d+:\d+:?\d+?\]\s?\<(\w+)\>\s?(.*)$/''${1}: $2'$value));         else              $exploded[$key]='';         }         $exploded str_replace(":",":</font>",$exploded);         echo implode("\n"$exploded);     } } if($_POST['style'] == 1) {     if(isset($_POST['quelltext']))  {      $exploded explode("\n"$_POST['quelltext']);      foreach ($exploded as $key => $value) {        if($exploded[$key][0]!='*')             $exploded[$key] = "<font color=\"#FF0000\">".nl2br(preg_replace('/^\(\d+:\d+:?\d+?\)\s?\(@(\w+)\)\s?(.*)$/''${1}: $2'$value));         else              $exploded[$key]='';         }         $exploded str_replace(":",":</font>",$exploded);         echo implode("\n"$exploded);     } } ?>
</BODY> </HTML>
Allerdings habe ich nun folgendes Problem:

Ich habe nen Dialog:

[23:37] <dio> bla1
[23:37] <Isso^away> bliblablu
[23:38] <dio> test die erste einzubringen

allerdings stimmt die Ausgabe nicht. Kann das was mit dem Namen Isso^away zu tun haben?

http://schlafbaer.sc.ohost.de/test.php
Mit Zitat antworten
  #13 (permalink)  
Alt 11-10-2006, 12:52
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Kann das was mit dem Namen Isso^away zu tun haben?
Klar kann...
Zum Beantworten erstellt man sich ein Testcase und probiert ob \w ein ^-Character matcht
Mit Zitat antworten
  #14 (permalink)  
Alt 11-10-2006, 13:22
Avalon03
 Newbie
Links : Onlinestatus : Avalon03 ist offline
Registriert seit: Oct 2006
Ort: Germany, Köln
Beiträge: 8
Avalon03 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und wie kann man das ändern?
Damit er das anständig umwandelt?
Mit Zitat antworten
  #15 (permalink)  
Alt 11-10-2006, 17:18
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Avalon03
Und wie kann man das ändern?
Damit er das anständig umwandelt?
indem man statt \w z.B. eine char-class nimmt
[a-zA-Z0-9^]+
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

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

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:41 Uhr.