SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 26.03.2008, 18:56:57
SkriptSuppe SkriptSuppe ist offline
Anfänger
 
Registriert seit: Mar 2008
Beiträge: 18
Regex Problem

Hallo,

ich versuche mich gerade an meinem Youtube preg_replace Regex. Ich komme aber leider nicht weiter und das liegt vermutlich daran, dass die diese "Sprache" nicht meine Stärke ist.

Ich benötige die Video ID (momentan \\2 )

Code:
!\[(?i)Youtube\](.*)youtube.com\/watch\?v=[_-a-zA-Z0-9]?(.*)\[(?i)/Youtube\]!Uis
Dies funktioniert bereits für Videos mit folgender URL:

Zum Beispiel

http://www.youtube.com/watch?v=23GVj56ShRc

aber nicht für Videos die ein & enthalten:

http://www.youtube.com/watch?v=w5NwhLbx1qk&feature=user

?(.*) bedeutet doch: und vielleicht beliebig viele Zeichen in dieser Zeile

Was mach ich falsch ?

mfg

Geändert von SkriptSuppe (26.03.2008 um 18:58:05 Uhr)
Mit Zitat antworten
  #2  
Alt 26.03.2008, 20:01:53
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Regex Problem

Warum greifst Du nicht nur die Video ID ab, der Rest der URL scheint für Dich nicht von belang zu sein.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #3  
Alt 26.03.2008, 21:10:27
SkriptSuppe SkriptSuppe ist offline
Anfänger
 
Registriert seit: Mar 2008
Beiträge: 18
AW: Regex Problem

Zitat:
Zitat von |Coding Beitrag anzeigen
Warum greifst Du nicht nur die Video ID ab, der Rest der URL scheint für Dich nicht von belang zu sein.
Wäre möglich... aber umständlicher und ich hoffe jemand kennt eine elegantere Lösung ohne extra Zeilen Code
Mit Zitat antworten
  #4  
Alt 26.03.2008, 23:44:07
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Regex Problem

Hi!

Warum "...extra Zeilen Code..."?

Beispiel:

PHP-Code:
<?php
  $str 
'[youtube]http://www.youtube.com/watch?v=w5NwhLbx1qk[/youtube]

[youtube]http://www.youtube.com/watch?v=w5NwhLbx1qk&feature=user[/youtube]

[youtube]http://www.youtube.com/watch?v=w5NwhLbx1qk&feature=user&noch=mehr[/youtube]'
;

  
$pattern '|\[YOUTUBE\].*\?v=([_\-a-zA-Z0-9]+).*\[/YOUTUBE\]|i';

  
preg_match_all $pattern$str$matches );

  print ( 
$matches[0][0] . ' -> ' $matches[1][0] . '<br />' .
          
$matches[0][1] . ' -> ' $matches[1][1] . '<br />' .
          
$matches[0][2] . ' -> ' $matches[1][2] );
?>
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #5  
Alt 27.03.2008, 09:20:33
SkriptSuppe SkriptSuppe ist offline
Anfänger
 
Registriert seit: Mar 2008
Beiträge: 18
AW: Regex Problem

Zitat:
Warum "...extra Zeilen Code..."?
Da dies eine BB Code Funktion werden soll. Deine Funktion ist zwar einwandfrei, aber relativ unflexibel für meine Zwecke (=> Gästebucheinträge).

Ich habe es jetzt gelöst (Umsetzung mit preg_replace):

Code:
!\[(?i)Youtube\](.*)youtube.com\/watch\?v=[_-a-zA-Z0-9]?(.*)(&.*)*\[(?i)/Youtube\]!Uis
Mit Zitat antworten
  #6  
Alt 27.03.2008, 14:07:21
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Regex Problem

Hi!

"unflexibel" kann ich gerade nicht ganz nachvollziehen, vielleicht reden wir aber auch etwas an einander vorbei. Magst Du vielleicht kurz im groben mal aufzählen, was Dir für den Funktionsumfang der BBCode-Funktion wichtig ist und was sie im Einzelnen können sollte?

Ist immer besser wenn wir etwas mehr wissen als vielleicht nötig, da wir dann auch besser oder umfangreicher helfen können.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #7  
Alt 27.03.2008, 14:53:18
SkriptSuppe SkriptSuppe ist offline
Anfänger
 
Registriert seit: Mar 2008
Beiträge: 18
AW: Regex Problem

Das Problem ist ja gelöst, aber zu deiner Funktion noch:

Bei mir ist der Inhalt der $str ja variabel, des Weiteren habe ich nicht immer die gleiche Anzahl von Videos. Ich "ummantle" aber jede ID sofort wieder mit Quellcode (innerhalb von $str), um das Video per PopUp / Webplayer einzubinden. Mit deiner Methode kann ich dies ja nur mit mindestens 2 weiteren Schritten $str schaffen.

Ich glaube ich habe mich einfach nicht klar genug am Anfang ausgedrückt - sorry.

Auf jeden Fall vielen Dank für deinen Ansatz

Noch mein Quellcode zum Schluss (nicht sehr übersichtlich ;) )

PHP-Code:
$eintrag preg_replace("!\[(?i)Youtube\](.*)youtube.com\/watch\?v=[_-a-zA-Z0-9]?(.*)(&.*)*\[(?i)/Youtube\]!Uis""<div class=\"youtube\"><a href=\"gbs-database/gbs-video.php?typ=y&amp;id=\\2\" target=\"_blank\" rel=\"lyteframe\" rev=\"width:446px; height:380px; scrolling:no;\" title=\"&lt;a href=&quot;http://www.youtube.com/watch?v=\\2&quot; target=&quot;_blank&quot;&gt;Link zum Video&lt;/a&gt;\"><img src=\"http://img.youtube.com/vi/\\2/1.jpg\" border=\"0\" alt=\"Youtube Thumbnail\" /></a><span><img src=\"gbs-database/icons/youtube-icon.png\" width=\"16\" height=\"16\" alt=\"Youtube Icon\" /></span></div>"$eintrag); 
__________________

Geändert von SkriptSuppe (27.03.2008 um 14:53:40 Uhr)
Mit Zitat antworten
  #8  
Alt 27.03.2008, 16:19:27
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Regex Problem

Das obige Beispiel war ja auch nicht für "copy & paste" gedacht, weil ich nicht hellsehen kann :-)
Der eigentliche Betreff des Beispiels war auch nur der reguläre Ausdruck, der Rest war da zu gedacht, die Funktionsweise zu testen.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #9  
Alt 28.03.2008, 15:53:55
Tumasch Tumasch ist offline
Junior Member
 
Registriert seit: Dec 2007
Beiträge: 151
AW: Regex Problem

such mal nach parse_url und parse_str ...
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
problem mit regex Socrates PHP Grundlagen 1 26.01.2007 07:43:21
Regex - Problem Dulla PHP für Fortgeschrittene und Experten 2 08.02.2006 10:44:56
regex highlight problem alexboy PHP für Fortgeschrittene und Experten 5 03.02.2006 15:37:43
regex Problem morsche PHP für Fortgeschrittene und Experten 10 19.01.2005 15:29:41
regex problem - und/nicht |Coding PHP für Fortgeschrittene und Experten 2 01.08.2003 14:03:59


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:07:13 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt