0

The users of my site mainly share documents by inserting links into content (pages/posts) using the built in editor. These files include everything from pdfs to word documents. The users currently get/copy these links from a php file manager like FileRun. My goal is to have the users instead use a path from mapped network drive such as \testdrive\Folder1\Folder2\test.txt. The following function has been written to handle replacing the mapped network drive files to an internet link such as "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);
}
?>

Where could I put a function like this to automatically look through the content of a page or a post and replace the filepath accordingly? Would there theoretically be any way to put this just in the child theme? Currently when I upload media such as photos, it is already putting the files into the path "http://page.test.org/files/". I'm really looking for have function go through the post/page content and perform essentially a constant "search and replace"

2 Answers 2

0

There is somewhat similar answer in the below mentioned link:

Removing any and all inline styles from the_content()

where some inline style are being removed with the help of preg_replace and wordpress hooks (wp_insert_post_data & the_content).

Similarly any part of the content can be modified with the as the same done in this (Removing any and all inline styles from the_content()) case.

0

I know this is an old question, but it was bumped to the homepage (for some reason).

I wouldn't do it constantly, since this would check all the page every time a page is loaded, which would be a lot of redundant operations, when users are simply browsing around.

I would do it on the save_post-hook.

As such:

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 );

I'm not 100% certain what you were checking for or replacing it with, so I didn't include it in this answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.