Here is your markup rule and function, the 4 changed lines are marked
with #changed or #added:
Markup('svgtag','fulltext','/\\{\\*(.*?)\\*\\}/s',"litsvg"); #changed
function litsvg($m){ #changed
$string = $m[1]; #added
$out = '';
$string = str_replace(array('>', '<', '&'),
array('>', '<', '&'), $string);
$string = str_replace(array('</p>','<pre>','</pre>',
"<p class='vspace'>",'\\"'), array('','','','','"'),$string);
$out = $out . $string;
return Keep($out); #changed
}
Note, this requires at least PmWiki 2.2.56 (latest recommended). You may
have to upgrade.
Petko
--
PmWeekly Blog : http://www.pmwiki.org/News
If you upgrade : http://www.pmwiki.org/Upgrades
On 2017-08-16 19:10, Lars Eighner wrote:
This used to work. But php 7 hates it:
Markup('svgtag','fulltext','/\\{\\*(.*?)\\*\\}/esi',"Keep(litsvg('$1'))");
function litsvg($string){
$out = '';
$string = str_replace(array('>', '<', '&'),
array('>', '<', '&'), $string);
$string = str_replace(array('</p>','<pre>','</pre>',
"<p class='vspace'>",'\\"'), array('','','','','"'),$string);
$out = $out . $string;
return $out;
}
On Wed, 16 Aug 2017, Petko Yotov wrote:
You should have, either in local/config.php, or in some cookbook/*.php
file a line or a block like this:
Markup( or Markup_e(
'svgedit', or something like this
'/\\{\\*(.*?)\\*\\}/', or something like this
'Keep(PSS("$1"))' or "FmtSVGEdit()" or something like this.
);
The third expression is what should tip you, '/\\{\\*(.*?)\\*\\}/', or
something like this (it can be written in multiple ways).
If you find such a line, we may be able to rewrite it for PHP 7.
Do you edit actual SVG code directly in the wiki source page, eg
{*<svg xmlns="..."><path d="m56 56l-52-52"/></svg>*}
?
Petko
_______________________________________________
pmwiki-users mailing list
[email protected]
http://www.pmichaud.com/mailman/listinfo/pmwiki-users