regular expressions for preserving img and url links from stripping

This commit is contained in:
Tobias Diekershoff 2012-02-13 19:34:14 +01:00
parent fe3ff56d7b
commit 2028564cc6

View File

@ -1,7 +1,7 @@
<?php <?php
/** /**
* Name: StatusNet Connector * Name: StatusNet Connector
* Version: 1.0.2 * Version: 1.0.3
* Author: Tobias Diekershoff <https://diekershoff.homeunix.net/friendika/profile/tobias> * Author: Tobias Diekershoff <https://diekershoff.homeunix.net/friendika/profile/tobias>
*/ */
@ -400,7 +400,9 @@ function statusnet_post_hook(&$a,&$b) {
require_once('include/bbcode.php'); require_once('include/bbcode.php');
$dent = new StatusNetOAuth($api,$ckey,$csecret,$otoken,$osecret); $dent = new StatusNetOAuth($api,$ckey,$csecret,$otoken,$osecret);
$max_char = $dent->get_maxlength(); // max. length for a dent $max_char = $dent->get_maxlength(); // max. length for a dent
$msg = strip_tags(bbcode($b['body'])); $tmp = preg_match_all( '/\[\\/?img(\\s+.*?\]|\])/i', '', $b['body']);
$tmp = preg_match_all( '/\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', '$2 $1', $tmp)
$msg = strip_tags(bbcode($tmp));
// quotes not working - let's try this // quotes not working - let's try this
$msg = html_entity_decode($msg); $msg = html_entity_decode($msg);
if (( strlen($msg) > $max_char) && $max_char > 0) { if (( strlen($msg) > $max_char) && $max_char > 0) {