witdh und height ändern (split?)

thehasso

Erfahrenes Mitglied
hallo zusammen,

ich möchte das wenn meine User den von youtube eingebettet CODE in meiner Seite einfügen das Video von youtube angezeigt wird. Das ist soweit
kein Problem. Das einzigste Problem das vorliegt ist, dass das YOUTUBE video immer die größe width = 200 und height 150 haben soll.

Das heisst gibt ein User beispielsweise folgendes ein:

Code:
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/w1Ts-YcFOWw&hl=de_DE&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/w1Ts-YcFOWw&hl=de_DE&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>


Dann soll in der Datenbank:



Code:
<object width="200" height="150"><param name="movie" value="http://www.youtube.com/v/w1Ts-YcFOWw&hl=de_DE&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/w1Ts-YcFOWw&hl=de_DE&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="200" height="150"></embed></object>


stehen.



Freu mich über einen Lösungsansatz bzw. tipp.

Danke gruß
thehasso
 
Also ich persönlich würde dringend davon Abraten, das die User (Flash)Objecte in deine Seite bringen können, das könnte böse ins Auge gehen, wenn es nicht 1000%ig abgesichert und geprüft wird.
 
hmm meinst du mit geprüft wird das User sexuelle Videos einbinden könnten ? oda was ist gemeint?


Also es geht um ne reine Community es werden zu 95% nur musik videos eingebunden. (meine erfahrung bis jetzt)
 
Warum sagst du den Usern nicht, dass sie so wie hier einfach den Tag [youtube ] [/youtube ] (ohne Leerzeichen) verwenden sollen? Dazwischen kommt dann die Viedoid...
 
ne ich glaub du verstehst noch nicht was ich meine.

Was ich will ist einfach: wenn der user den youtube code einfügt das in der DB der witdh und height (breite und höhe) des videos auf 200 breite und 150 höhe abgeändert wird.

mit welcher php funktion kann man das machen?


Beispiel man gibt im Textfeld folgendes ein;
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/eFS74TkZBtQ&hl=de_DE&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/eFS74TkZBtQ&hl=de_DE&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>


dies wird mit dem $_POST übergeben..

$codevomVIDEO = $POST[youtubecode]


In $codevomVIDEO sollen nun breite und höhe auf meiner definierten breite und höhe gesetzt werden.



Hoffe jetzt is kla was gemeint ist...


Danke im voraus :)
 
str_replace könnte dir hier weiter helfen, da es hier doch immer sehr änlich aussieht.

Sollte das nicht mächtig genug sein, gibt es immer noch preg_replace mit einem RegExp
 
Mach doch nen preg_replace:

PHP:
$youtube = preg_replace(array('/width=".+"/', '/height=".+"/'), array('width="200"', 'height="150"'), $youtube);

Edit: Da war wohl jemand schneller ;-)
 
also irgenwie haut das nicht hin...


ich habs so versucht:


PHP:
$ersetzungen = 'width=\"200\"';
$suchmuster = 'height=\"150\"';
$youtube = preg_replace($suchmuster, $ersetzungen, $youtube);

Fehlermeldung:
Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash in C:\xampp\htdocs\turkey\Templates\update.php on line 683


und bei den versuch von den letzten Beitrag wurde in der DB einfach nur noch:

PHP:
$youtube = preg_replace(array('/width=".+"/', '/height=".+"/'), array('width="200"', 'height="150"'), $youtube);



eingetragen in der datenbank: <object width="200"></embed></object>
 
Zuletzt bearbeitet von einem Moderator:
Versuchs mit str_replace:
PHP:
$youtub = str_replace('width=\"425\"', 'width=\"200\"', $vid);
$youtube = str_replace('height=\"344\"', 'height=\"150\"', $youtub);
Hoffe ich konnte helfen,
Daniel :D
 
Zurück