我的网站的用户主要通过使用内置编辑器在内容(页面/帖子)中插入链接来共享文档。这些文件包括从PDF到word文档的所有内容。用户当前从类似FileRun的php文件管理器获取/复制这些链接。我的目标是让用户使用映射网络驱动器的路径,例如\\testdrive\\Folder1\\Folder2\\test。txt。已编写以下函数来处理将映射的网络驱动器文件替换到internet链接的操作,例如“http://page.test.org/files/“。
<?php
function test_test_url_parse($string)
{
// Called by test_test_url_parse_wrapper()
// The nature of preg_replace means this needs a seperate function
$bits=explode("\\\\",$string);
$bobs=array();
foreach ($bits as $bit)
{
$bobs[]=urlencode($bit);
}
return "\\"http://page.test.org/files/".implode("/",$bobs)."\\"";
}
function test_test_url_parse_wrapper($string)
{
//Finds/replaces UCNs with URLs in the provided string.
$pattern1="~\\"[a-z]{1}:\\\\\\([^\\"]+)\\"~ie";
return preg_replace($pattern1, "test_test_url_parse(\'$1\')", $string);
}
?>
我可以在哪里放置这样的函数来自动查看页面或帖子的内容,并相应地替换文件路径?从理论上讲,有没有办法把这仅仅放在儿童主题中?目前,当我上传照片等媒体时,它已经将文件放入路径中了“
http://page.test.org/files/“。我真的在寻找通过帖子/页面内容的功能,并基本上执行一个恒定的“搜索和替换”
SO网友:Zeth
我知道这是一个老问题,但它被推到了主页上(出于某种原因)。
我不会经常这样做,因为这会在每次加载页面时检查所有页面,这将是a lot 当用户只是四处浏览时,就会出现冗余操作。
我会在save_post-钩
因此:
function custom_check_URL( $post_ID, $post, $update ) {
if ( \'publish\' === $post->post_status || \'page\' === $post->post_type) {
// CHECK AND MODIFY YOUR URL\'S HERE.
}
}
add_action( \'save_post\', \'custom_check_URL\', 10, 3 );
我不能百分之百确定你在检查什么或用什么替换它,所以我没有在这个答案中包含它。