• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

str_replace einsetzten

Status
Für weitere Antworten geschlossen.
M

matibaski

Guest
Moin da draussen!

Ich habe mich nun mal mit der str_replace Funktion beschäftigt.
Ich brauche momentan nur eine.

Und zwar:
Ich möchte bei einer fwrite aktion einen BB code einbinden.

Wenn man einfach enter gedruckt hat, in einem Textfeld, dann soll dies durch <br> ersetzt werden.

Ich dachte, ich kann es so machen:
PHP:
<?php
include("config.php");
$filename = $pfad.$_REQUEST['dataid']; // Dateiname wird bestimmt
$somecontent = $_REQUEST['text']; // Geschriebener Text wird übernommen

function bbcode($str) // Funktion bbcode() wird bestimmt.
{
$str = str_replace("/<br>/", "\n\r", $str); // Hier wird <br> ersetzt. Ich denke, dass hier der Fehler ist.
}

//Prüfen ob sich in das Verzeichnis schreiben lässt
if(!is_writable($pfad))
{
   die (" Kann nicht ins verzeichnis $pfad schreiben! Bitte prüfen, ob der CHMOD der Ordner (../deineinhalte/) den CHMOD von 777 hat.");
}
if(!$handle = fopen($filename,"w+")) // Prüfen ob Datei beschrieben werden kann.
{
  die (" Kann Datei {$filename} nicht bearbeiten! Bitte prüfen, ob der CHMOD der Dateien auf 777 gestellt ist.");
}
else
{
  fwrite($handle, $somecontent); // Schreibvorgang
  return bbcode($str); // BBcode wird eingefügt.
  
  fclose($handle); // Handlung wird geschlossen.
  echo "Datei $filename wurde erfolgreich bearbeitet<br><br><a href=admin.php?site=content_bearbeiten>Zurück</a><br><br><b>Vorschau:</b><br><br>$somecontent";
}
?>

Oben habe ich function bbcode($str) bestimmt.
Bei fwrite($handle, $somecontent); habe ich die Funktion aufgerufen.

Nach meiner Meinng nachsollte es ja stimmen, aber wenn es dies übernimmt, dann werden nicht alle Zeilenabstände als <br> gezählt. Im Gegenteil: Es passiert nix. Die Seite wird leer "geschrieben".

Ich hoffe, dass mir jemand von euch helfen kann.

MfG, matibaski
 
Danke.
Hab's schon mal ausprobiert. Genau was ich suchte.
Vielen Dank.

Nun da wir schon bei BB Codes o. ä. sind, möchte ich fragen, wie ich es schaffen kann, dass wenn ich z.B. auf Hyperlink klicke, dass ein Eingabefenster erscheint, dort gibt man den Linknamen und Linkadresse ein, und dann kommt ein HTML Code in das Feld.

Ich glaube, dies ist nur mit JS möglich, aber fragen darf man ja. :D

Wenn man es nur mit JS machen kann, kann mir jemand sagen wie?

Habe versucht zu Googlen, aber keien Ahnug was für nen Suchbegriff eingeben.
Ich dachte an: Hyperlink auf Textfeld, Textfeldhyperlink, usw..
Gab schon Treffer, aber ist nicht das, was ich suchte.
Ich werde immer ein wenig weitersuchen.
Wer sucht, der findet
 
Oke hab mal etwas gefunden.
Es ist mit Javascript.

Nun muss in in einem PHP Code, in einem echo um genau zu sein, ein Submit-Button einfügen (hat natürlich eine andere Funktion), der so ausieht:
HTML:
Kursiv:<input type="button" value="I" onMouseDown="formatText('i');"><br>
Fett:<input type="button" value="B" onMouseDown="formatText('b');"><br>
Unterstrichen:<input type="button" value="U" onMouseDown="formatText('u');"><br>

Nun muss der in den PHP Code.
Und so habe ich gedacht:
PHP:
echo' Kursiv:<input type="button" value="I" onMouseDown="formatText('i');"><br>';
echo' Fett:<input type="button" value="B" onMouseDown="formatText('b');"><br>';
echo' Unterstrichen:<input type="button" value="U" onMouseDown="formatText('u');"><br>'

Doch er scheint einen Fehler zu sehen.
Er sagt, unexpected T_STRING ',' oder ';'

doch welcher Strichpunkt oder welches Komma ist fehl am platz?
 
Hallo,

wenn Du einen String mit ' ' eingrenzt, sollte im String bitteschön kein ' erscheinen (Siehe PHP-Code von Dir .... die blauen i, b und u).

Gruß,
Jumper, the II.
 
Wie soll ich denn das machen, das was ich will?

Er macht es nie richtig.
Ich versuchte es so:
PHP:
echo"<input type='button' value='I' onClick='formatText('i')'><br>";

Ging nicht.
PHP:
echo'<input type="button" value="I" onClick="formatText("i")"><br>';

Ging auch nicht..
Kann mir jemand helfen?
 
Dann liegt es daran, dass der Browser Probleme mit der erstellten Code hat. Wenn du die zweiten Anführungszeichen benutzt, dann wird das onclick "beendet", so sollte es funktionieren:

PHP:
echo "<input type=\"button\" value=\"I\" onClick=\"formatText('i')\"><br>";
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben