我在时间表单中都有代码,可以在每次有人填写表单时获取电子邮件的页面标题。但是,我总是获得带有额外数据的页面标题。
例如:
"Empodera tu ser con PNL - Fundación Empoder"
我想删除
" - Fundación Empoder"
但我找不到答案
<input type='hidden' name='page_url' id='page_url' value='<?php echo 'JURI::getInstance()->toString(); ?>' />
<?php
$jdoc = 'JFactory::getDocument();
?>
<input type='hidden' name='page_title' id='page_title' value='<?php echo $jdoc->getTitle(); ?>' />
如果您能帮助:D,请提前感谢您
罗德里
查看str_replace()
:
$text = 'Empodera tu ser con PNL - Fundación Empoder';
echo str_replace(' - Fundación Empoder', '', $text); // "Empodera tu ser con PNL"
这可能不是最优雅的解决方案,但是,如果您要删除的部分是恒定的,它肯定会起作用。否则,您需要发挥创意,也许可以研究模式匹配/正则表达式/等。
如果你想做这样的事情,你需要确保总有一些模式是你可以寻找的。例如,如果我们知道只有一个破折号,那么我们可以做这样的事情:
<?php
$title_pieces = explode("-", $jdoc->getTitle());
$title_pieces = count($title_pieces > 1) ?
array_pop($title_pieces) : $title_pieces;
$page_title = implode('-', $title_pieces);
?>
<input type='hidden' name='page_title' id='page_title' value='<?php echo $page_title; ?>' />
我认为有更好的方法可以做到这一点,但如果 chronoforms 不允许这样做,那么这是一种笨拙的方法。
感谢您像这样解决的帮助
<input type='hidden' name='page_url' id='page_url' value='<?php echo 'JURI::getInstance()->toString(); ?>' />
<?php
$jdoc = 'JFactory::getDocument();
$gettit = $jdoc->getTitle();
$alltrim = str_replace(' - Fundación Empoder', '', $gettit);
?>
<input type='hidden' name='page_title' id='page_title' value='<?php echo $alltrim; ?>' />
是的,这是一个常数,这完全消除了我需要的东西......
谢谢罗德里戈:D