Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有Joomla函数来生成';别名';领域_Joomla_Components_Alias - Fatal编程技术网

是否有Joomla函数来生成';别名';领域

是否有Joomla函数来生成';别名';领域,joomla,components,alias,Joomla,Components,Alias,我正在为Joomla 1.5编写自己的组件。我试图找出如何为我添加的内容生成一个“别名”(友好的URL段塞)。换句话说,如果标题是“文章标题”,Joomla将默认使用文章标题(如果愿意,您可以编辑它) 是否有一个内置的Joomla函数可以为我实现这一点?libraries/Joomla/database/table/content.php的第123行实现了JFilterOutput::stringURLSafe()。传入要使“别名友好”的字符串,它将返回您需要的内容。如果您试图为所创建的组件生成

我正在为Joomla 1.5编写自己的组件。我试图找出如何为我添加的内容生成一个“别名”(友好的URL段塞)。换句话说,如果标题是“文章标题”,Joomla将默认使用
文章标题
(如果愿意,您可以编辑它)


是否有一个内置的Joomla函数可以为我实现这一点?

libraries/Joomla/database/table/content.php的第123行实现了
JFilterOutput::stringURLSafe()
。传入要使“别名友好”的字符串,它将返回您需要的内容。

如果您试图为所创建的组件生成别名,则非常简单。假设您在创建的组件中有
单击保存
应用按钮
,或者假设您希望通过磁贴创建别名,然后使用此功能:

$ailias=JFilterOutput::stringURLSafe($_POST['title']);
现在您可以将其插入数据库。

这是一个简单的PHP

以下是Joomla 1.5源代码中的函数:

注意,我已经把这两行注释掉了。您可以像这样调用函数

$new_alias=stringURLSafe($your_title)


谢谢这正是我想要的。它在Joomla 2.5.Joomla 3.php中被称为
JApplication::stringURLSafe()
。*您应该使用./Joomla/filter/output.php
JFilterOutput:stringURLSafe($string)
Care@marcanuy您在静态方法调用中缺少一个冒号
JFilterOutput::stringURLSafe($string)
function stringURLSafe($string)
    {
        //remove any '-' from the string they will be used as concatonater
        $str = str_replace('-', ' ', $string);
        $str = str_replace('_', ' ', $string);

        //$lang =& JFactory::getLanguage();
        //$str = $lang->transliterate($str);

        // remove any duplicate whitespace, and ensure all characters are alphanumeric
        $str = preg_replace(array('/\s+/','/[^A-Za-z0-9\-]/'), array('-',''), $str);

        // lowercase and trim
        $str = trim(strtolower($str));
        return $str;
    }