What hook runs on all filtered input text of all filter types?
Here's my best clunky workaround so far:

  &lt;?php
  function mymodule_entity_presave($entity, $type) {
  $fields = field_info_fields();
  foreach($fields as $field) {
    if ($field['type'] == "text_long" || $field['type'] == "text_with_summary") {
      if( isset($entity-&gt;{$field['field_name']}) ){
        foreach ($entity-&gt;{$field['field_name']} as $langcode =&gt; $items) {
          foreach ($items as $delta =&gt; $item) {
            $value =&amp;$entity-&gt;{$field['field_name']}[$langcode][$delta]['value']; 
            $value = _mymodule_do_stuff( $value );

            if ($field['type'] == "text_with_summary") {
              $summary =&amp;$entity-&gt;{$field['field_name']}[$langcode][$delta]['summary'];
              $summary = _mymodule_do_stuff( $summary );

            }
          }
        }
      }
    }
  }
}


Not ideal at all, but I think it beats the only non-core-hacking alternative I can see which is to use hook_field_attach_presave();. The code would be almost identical, and I believe it would be worse since we'd have to call and loop through field_info_fields() once for every field on every saved entity (instead of once for every saved entity).