Bilder in Zitaten in Links umwandeln

  • Ersteller Hänschenkleinman
  • Erstellt am
Hänschenkleinman
Hänschenkleinman
Registrierter Benutzer
Zuletzt hier
13.05.12
Registriert
18.02.04
Beiträge
937
Kekse
197
Moin.
Ich fände es sehr praktisch, wenn in Zitaten Bilder automatisch einfach durch Links (also - durch [URL]-Tags) ausgetauscht werden würden.
In bilderreichen Themen nervt es oft ziemlich, wenn große Bilder dann auch noch zitiert werden und so viel gescrollt werden muss.
Ich weiß nicht, inwiefern ich da jetzt auf Zustimmung stoße, aber ich kann mir vorstellen, dass so etwas den ein oder anderen auch stört.
 
Eigenschaft
 
Hänschenkleinman schrieb:
Moin.
Ich fände es sehr praktisch, wenn in Zitaten Bilder automatisch einfach durch Links (also - durch [URL]-Tags) ausgetauscht werden würden.
[/QUOTE]

Volle Zustimmung. Hatten wir auch schon mal. Keine Ahnung, warum das Feature wieder weg ist.

Es wäre allerdings nicht zuviel verlangt, das Bild beim Quoten einfach wegzumachen. Man mag es ja gelegentlich beim Zitieren selber noch vergessen, weil es da nur ne Zeile ist. Aber unmittelbar nach dem Abschicken des neuen Posts sieht man ja, was man angerichtet hat und kann das noch mal wegeditieren.

Ist nur eine Frage des Wollens...
 
bin auch dafür. fand ich früher auch angenehmer :)
 
Stimmt. Ist immer nervig wenn jemand einen Post mit riesigen Bildern zitiert.

mfg
 
Joa wäre ich auch für *hust* Ich hab da schonmal was vorbereitet:
function ImageToLink($TextBlock)
{
while(stristr($TextBlock,'<img'))
{
unset($PathBegin);
unset($PathEnd);
unset($ImageTagStart);
$ImageTagStart = strpos(strtoupper($TextBlock),strtoupper('<img'));
for($I = $ImageTagStart;$I<strlen($TextBlock);$I++)
{
if($TextBlock[$I]=='>')
break;
if($TextBlock[$I]=='"'&&!$PathBegin)
$PathBegin = ($I+1);
else if($TextBlock[$I]=='"'&&$PathBegin)
$PathEnd = $I;
}
$TempEndBlock = substr($TextBlock,($I+1),(strlen($TextBlock)-($I+1)));
$Link = substr($TextBlock,$PathBegin,($PathEnd-$PathBegin));
$TextBlock = str_replace('<img','<a',$TextBlock);
$TextBlock = str_replace('src="','href="',$TextBlock);
$TextBlock = str_replace($TempEndBlock,'',$TextBlock);
$TextBlock .= $Link.'</a>'.$TempEndBlock;
}
return($TextBlock);
}
Die Funktion hab ich gerad geschrieben, also beim Quoten einfach den Textblock in die Funktion geben und den RückgabeWert in den QuotingTag setzen.

also angenommen der Qutingtag heißt $Quote, macht ihr einfach nur $Quote = ImageToLink($Quote);

Thats all.
(Falls das keiner brauch: es hat mir zumindest Spaß gemacht es zu schreiben :p)

edit:
Falls allerdings einfach nur wirklich die Alias-Tags in [URL] umgewandelt werden soll.. naja.. dan einfach
ein
while(stristr($QuoteBlock,'[IMG]'))
{
$QuoteBlock = str_replace('[IMG]','[URL]',$QuoteBlock);
$QuoteBlock = str_replace('[\IMG]','[\URL]',$QuoteBlock);
}

edit2:
Und falls jemand die Funktion haben will, einfach schreiben, dann lad ich die PHP mit formatiertem Syntax sogar hoch^^".
 
Äussert sich ein Admin büdde mal dazu? Wäre nicht verkehrt.
 
Done.. jedoch ein wenig anders:

bb code parse:
Code:
global $vbulletin;

$ufield = "field" . trim( strval( $vbulletin->options["img2url_ufield"] ) );

if ( $vbulletin->userinfo[$ufield] == "Image" )
{
  $text = preg_replace( "/\[[qQ][iI][mM][gG]\]/", "[img]", $text );
  $text = preg_replace( "/\[\/[qQ][iI][mM][gG]\]/", "[/img]", $text );
} else {
  $text = preg_replace( "/\[[qQ][iI][mM][gG]\]/", "[url]", $text );
  $text = preg_replace( "/\[\/[qQ][iI][mM][gG]\]/", "[/url]", $text );
}

Im Full Reply:

Code:
$pagetext = preg_replace( "/\[[iI][mM][gG]\]/", "[qimg]", $pagetext );
$pagetext = preg_replace( "/\[\/[iI][mM][gG]\]/", "[/qimg]", $pagetext );

$pagetext = preg_replace( "/\[[sS][cC][rR][eE][eE][nN][sS][hH][oO][tT]\]/", "[qimg]", $pagetext );
$pagetext = preg_replace( "/\[\/[sS][cC][rR][eE][eE][nN][sS][hH][oO][tT]\]/", "[/qimg]", $pagetext );

$pagetext = preg_replace( "/\[[sS][hH][oO][tT]\]/", "[qimg]", $pagetext );
$pagetext = preg_replace( "/\[\/[sS][hH][oO][tT]\]/", "[/qimg]", $pagetext );
 
Angesichts der hier vorliegenden sauber debuggten Source-Codes plädiere ich vehement für die Einrichtung eines IT-Hardcore-Forums. Zugang bekommt nur jemand, der einen ordentlichen Trojaner schreiben kann....:D
 
reteep schrieb:
Done.. jedoch ein wenig anders:

bb code parse:

Joa mit nem Regulären Ausdruck funzts auch ^^", kenne die Forensoftware halt nicht und wollte ne allgemeinkompatible Funktion schreiben :D.
 
Hmm irgendwie werd ich aber aus dem Code nicht so recht schlau..
Code:
   $text = preg_replace( "/\[[qQ][iI][mM][gG]\]/", [COLOR=Black]"[URL="http://%22,%20$text%20%29/;%3Cbr%20/%3E$text%20=%20preg_replace%28%20%22/%5C%5B%5C/%5BqQ%5D%5BiI%5D%5BmM%5D%5BgG%5D%5C%5D/%22,%20%22"][img]", $text );[/URL][/COLOR]
du hast hier garkein Suchmuster angegeben, noch dazu hättest dir manches durch ein /i (nicht case-sensetive) sparen können.
Hat da evtl die Ausgabe n Stück Code verschluckt? (Die -Tags werden ja immernoch interpretiert)

Ich schätze einfach mal, dass die Tags verschluckt wurde, Begin dürfte ja "[ ur l ]" sein und ende "[/ ur l]"
Aber mit so'm Regulären Ausdruck ist's natürlich ne viel feinere Lösung als meine eher klumbe Funktion ^^, hab mich heute Morgen hingehockt und hab mir nochmal die Regulären Ausdrücke angeguckt und sie mal gescheit gelernt. (Bin halt doch eher der C-Typ ^^")
 
Danke reteep, wieder eine nützliche Erweiterung mehr! :great:

mfg
 
Martin WPunkt schrieb:
Angesichts der hier vorliegenden sauber debuggten Source-Codes plädiere ich vehement für die Einrichtung eines IT-Hardcore-Forums. Zugang bekommt nur jemand, der einen ordentlichen Trojaner schreiben kann....:D

jawoll nur leute die 127.0.0.1 zum absturz bringen koennen :D
 
Ich glaub das bekommt jeder noch irgendwie hin ;)
 

Ähnliche Themen


Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben